diff --git a/README.md b/README.md index a17f71b2093..0c18f55565d 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ To use the artifacts from a Maven project: |------|-----------|----------| |fhir-model|An object model generated from the FHIR R4 specification and corresponding parsers and generators for XML and JSON|true| |fhir-registry|A resource registry, registry provider interfaces, and pre-registered resources shipped with the FHIR specification|false| +|fhir-term|A terminology service provider interface with a default implementation that implements the ValueSet expand operation|false| |fhir-profile|Helper methods for validating ValueSet membership and Profile conformance|false| |fhir-path|An implementation of version 2.0.0 of the FHIRPath specification assumed by FHIR R4|false| |fhir-validation|Validation utility for validating resource instances against the base specification and/or configured profiles|false| diff --git a/build/docker/deploySchemaAndTenant.sh b/build/docker/deploySchemaAndTenant.sh index 82d344a8c47..ed1c5b95146 100755 --- a/build/docker/deploySchemaAndTenant.sh +++ b/build/docker/deploySchemaAndTenant.sh @@ -5,13 +5,53 @@ # SPDX-License-Identifier: Apache-2.0 ############################################################################### set -ex +set +o pipefail # The full path to the directory of this script, no matter where its called from DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" cd ${DIR} -java -jar schema/fhir-persistence-schema-*-cli.jar \ - --prop-file db2.properties --schema-name FHIRDATA --create-schemas +# Makes a temp file to store the output +TMP_FILE=`mktemp` + +# Loop up to 4 +not_ready=true +retry_count=0 +while [ "$not_ready" == "true" ] +do + EXIT_CODE="-1" + java -jar schema/fhir-persistence-schema-*-cli.jar \ + --prop-file db2.properties --schema-name FHIRDATA --create-schemas | tee -a ${TMP_FILE} + EXIT_CODE="${PIPESTATUS[0]}" + LOG_OUT=`cat ${TMP_FILE}` + if [ "$EXIT_CODE" == "0" ] + then + # We now just send out the output and stop the loop + echo "${LOG_OUT}" + not_ready="false" + elif [ "$EXIT_CODE" == "4" ] || [ echo "$LOG_OUT" | grep -q "SQLCODE=-1035, SQLSTATE=57019" ] + then + # EXIT_NOT_READY = 4 - we know in certain versions that this is to be automatically re-tried + retry_count=$((retry_count++)) + if [ $retry_count -lt 4 ] + then + echo "Waiting for the Database to be ready - Sleeping" + sleep 60 + else + echo "Reached Limit while waiting" + echo "$LOG_OUT" + exit "$EXIT_CODE" + fi + else + # We need to check and/or fail. + echo "$LOG_OUT" + fi +done + +if -f ${TMP_FILE} +then + rm ${TMP_FILE} +fi java -jar schema/fhir-persistence-schema-*-cli.jar \ --prop-file db2.properties --schema-name FHIRDATA --update-schema --pool-size 2 diff --git a/build/release/build.sh b/build/release/build.sh index d620149f083..65b4f03a47e 100644 --- a/build/release/build.sh +++ b/build/release/build.sh @@ -45,10 +45,22 @@ function _mvn { check_and_fail $? "${FUNCNAME[0]} - stopped - ${PROJECT_PATH}" } +# _mvn2 - executes mvn to prep the install +function _mvn2 { + announce "${FUNCNAME[0]}" + PROJECT_PATH="$1" + PROFILES="$2" + + # Batch mode without the transfer updates. + mvn ${THREAD_COUNT} -ntp -B "${PROFILES}" install -DskipTests -f ${PROJECT_PATH} + check_and_fail $? "${FUNCNAME[0]} - stopped - ${PROJECT_PATH}" +} + # build_all - build all versions function build_all { _mvn 'fhir-tools' '-Pdeploy-bintray,fhir-javadocs' _mvn 'fhir-examples' '-Pdeploy-bintray,fhir-javadocs' + _mvn2 'fhir-parent' '-Pdeploy-bintray' PROFILES_ARR=(integration) PROFILES_ARR+=(model-all-tests) @@ -56,7 +68,7 @@ function build_all { PROFILES_ARR+=(search-all-tests) PROFILES_ARR+=(jdbc-all-tests) PROFILES=$(IFS=, ; echo "${PROFILES_ARR[*]}") - _mvn 'fhir-parent' "-Pdeploy-bintray,fhir-javadocs,fhir-validation-distribution,fhir-ig-carin-bb,fhir-ig-davinci-pdex-plan-net,fhir-ig-mcode,fhir-ig-us-core,${PROFILES}" + _mvn 'fhir-parent' "-Pdeploy-bintray,fhir-javadocs,fhir-validation-distribution,fhir-ig-carin-bb,fhir-ig-davinci-pdex-plan-net,fhir-ig-mcode,fhir-ig-us-core,fhir-term,${PROFILES}" } ############################################################################### diff --git a/build/release/release.sh b/build/release/release.sh index 13551f932bc..ee8829cae46 100644 --- a/build/release/release.sh +++ b/build/release/release.sh @@ -88,8 +88,9 @@ function deploy_via_curl { done # The general zip FILE logic is changed to do fhir-validation-distribution.zip and fhir-cli.zip only - for ZIP_FILE in `find ${PROJ}/target -name 'fhir-validation-distribution.zip' -or -name 'fhir-cli.zip' -maxdepth 1 -exec basename {} \;` + for ZIP_FILE in `find ${PROJ}/target -name fhir-validation-distribution.zip -or -name fhir-cli.zip -maxdepth 1` do + ZIP_FILE=`basename ${ZIP_FILE}` echo " - Uploading zip: ${ZIP_FILE}" FILE_TARGET_PATH="/com/ibm/fhir/${PROJ}/${BUILD_VERSION}/${ZIP_FILE}" STATUS=$(curl -T "${PROJ}/target/${ZIP_FILE}" -u${BINTRAY_USERNAME}:${BINTRAY_PASSWORD} -H "X-Bintray-Package:${PROJ}" -H "X-Bintray-Version:${BUILD_VERSION}" https://api.bintray.com/content/ibm-watson-health/ibm-fhir-server-${TYPE}${FILE_TARGET_PATH} -o /dev/null -w '%{http_code}') diff --git a/docs/src/pages/guides/CreateFHIRValidationAssembly.md b/docs/src/pages/guides/CreateFHIRValidationAssembly.md index 26a675afabe..a4100ca8e76 100644 --- a/docs/src/pages/guides/CreateFHIRValidationAssembly.md +++ b/docs/src/pages/guides/CreateFHIRValidationAssembly.md @@ -84,6 +84,7 @@ Archive: ./tmp-fhir4/FHIR/fhir-validation/target/fhir-validation-distribution.z - fhir-ig-davinci-pdex-plan-net - fhir-ig-mcode - fhir-ig-us-core +- fhir-term - include the terminology module - `fhir-ig-user-defined` - A user defined profile If you chose to add the user defined profile, you must pass in the name of the dependency using a commandline parameter `-Dfhir-ig-user-defined=fhir-ig-example`. diff --git a/docs/src/pages/guides/FHIRServerUsersGuide.md b/docs/src/pages/guides/FHIRServerUsersGuide.md index 0cb615ce41a..aaffa56b7ad 100644 --- a/docs/src/pages/guides/FHIRServerUsersGuide.md +++ b/docs/src/pages/guides/FHIRServerUsersGuide.md @@ -624,7 +624,7 @@ To implement a persistence interceptor, complete the following steps: `com.ibm.mysolution.MyInterceptor` -3. Copy your jar to the `/usr/servers/fhir-server/config` directory so that it is accessible to the FHIR server via the classpath (the `server.xml` file contains a library element that defines this directory as a shared library). +3. Copy your jar to the `/usr/servers/fhir-server/userlib` directory so that it is accessible to the FHIR server via the classpath (the `server.xml` file contains a library element that defines this directory as a shared library). 4. Re-start the FHIR server. @@ -1486,6 +1486,8 @@ This section contains reference information about each of the configuration prop |`fhirServer/bulkdata/validBaseUrls`|string|The list of supported urls which are approved for the fhir server to access| |`fhirServer/bulkdata/validBaseUrlsDisabled`|boolean|Disables the URL checking feature| |`fhirServer/bulkdata/maxInputPerRequest`|integer|The maximum inputs per bulk import| +|`fhirServer/bulkdata/cosFileMaxResources`|int|The maximum number of FHIR resources per COS file, "-1" means no limit, the default value is 500000 | +|`fhirServer/bulkdata/cosFileMaxSize`|int|The maximum COS file size in bytes, "-1" means no limit, the default value is 209715200 (200M) | ### 5.1.2 Default property values @@ -1532,6 +1534,8 @@ This section contains reference information about each of the configuration prop |`fhirServer/audit/serviceProperties/geoCounty`|US| |`fhirServer/bulkdata/isExportPublic`|true| |`fhirServer/bulkdata/validBaseUrlsDisabled`|false| +|`fhirServer/bulkdata/cosFileMaxResources`|500000| +|`fhirServer/bulkdata/cosFileMaxSize`|209715200| ### 5.1.3 Property attributes @@ -1596,6 +1600,8 @@ must restart the server for that change to take effect. |`fhirServer/bulkdata/validBaseUrls`|Y|Y| |`fhirServer/bulkdata/maxInputPerRequest`|Y|Y| |`fhirServer/bulkdata/validBaseUrlsDisabled`|Y|Y| +|`fhirServer/bulkdata/cosFileMaxResources`|N|Y| +|`fhirServer/bulkdata/cosFileMaxSize`|N|Y| ## 5.2 Keystores, truststores, and the FHIR server diff --git a/docs/src/pages/guides/FHIRValidationGuide.md b/docs/src/pages/guides/FHIRValidationGuide.md index 42997ac4c67..26a8f1c6065 100644 --- a/docs/src/pages/guides/FHIRValidationGuide.md +++ b/docs/src/pages/guides/FHIRValidationGuide.md @@ -32,7 +32,7 @@ Given a FHIR profile (structure definition) as input, the IBM FHIR Server Profil - Cardinality constraints (required and prohibited elements) - Fixed value constraints (Code and Uri data types) -- Pattern value constraints (CodeableConcept daa type) +- Pattern value constraints (CodeableConcept and Identifier data types) - Reference type constraints (FHIRPath resolve/is/conformsTo functions) - Extension constraints (FHIRPath `conformsTo` function) - Vocabulary constraints (FHIRPath `memberOf` function) diff --git a/fhir-bulkimportexport-webapp/pom.xml b/fhir-bulkimportexport-webapp/pom.xml index 3cf7ab78af8..28d87e63776 100644 --- a/fhir-bulkimportexport-webapp/pom.xml +++ b/fhir-bulkimportexport-webapp/pom.xml @@ -33,6 +33,10 @@ org.glassfish jakarta.json + + jakarta.enterprise + jakarta.enterprise.cdi-api + ${project.groupId} fhir-persistence diff --git a/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportChunkJob.xml b/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportChunkJob.xml index af4fd04b28f..1649d6bce04 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportChunkJob.xml +++ b/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportChunkJob.xml @@ -1,19 +1,18 @@ - - - + + + - + + - - @@ -26,16 +25,24 @@ - - + - - + + + + + + + + + + + \ No newline at end of file diff --git a/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportGroupChunkJob.xml b/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportGroupChunkJob.xml index b675578fc47..164e95a4a6d 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportGroupChunkJob.xml +++ b/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportGroupChunkJob.xml @@ -1,12 +1,15 @@ + + + - + - + @@ -14,7 +17,7 @@ - + @@ -23,9 +26,24 @@ - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportPatientChunkJob.xml b/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportPatientChunkJob.xml index 43f3dc26813..9b0b44d9895 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportPatientChunkJob.xml +++ b/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkExportPatientChunkJob.xml @@ -1,22 +1,22 @@ - - - + + + - + - + - + @@ -25,15 +25,24 @@ - + - - + + + + + + + + + + + \ No newline at end of file diff --git a/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkImportChunkJob.xml b/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkImportChunkJob.xml index 61daffbc45e..aaea80f622f 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkImportChunkJob.xml +++ b/fhir-bulkimportexport-webapp/src/main/java/META-INF/batch-jobs/FhirBulkImportChunkJob.xml @@ -14,8 +14,8 @@ - - + + @@ -29,7 +29,7 @@ - + diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkcommon/BulkDataUtils.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkcommon/BulkDataUtils.java index ee937fb4ba7..97f1d281103 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkcommon/BulkDataUtils.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkcommon/BulkDataUtils.java @@ -16,9 +16,11 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; +import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; import java.util.Base64; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -48,6 +50,7 @@ import com.ibm.cloud.objectstorage.services.s3.model.GetObjectRequest; import com.ibm.cloud.objectstorage.services.s3.model.InitiateMultipartUploadRequest; import com.ibm.cloud.objectstorage.services.s3.model.InitiateMultipartUploadResult; +import com.ibm.cloud.objectstorage.services.s3.model.ObjectMetadata; import com.ibm.cloud.objectstorage.services.s3.model.PartETag; import com.ibm.cloud.objectstorage.services.s3.model.S3Object; import com.ibm.cloud.objectstorage.services.s3.model.S3ObjectInputStream; @@ -88,6 +91,11 @@ public static String startPartUpload(AmazonS3 cosClient, String bucketName, Stri InitiateMultipartUploadRequest initMultipartUploadReq = new InitiateMultipartUploadRequest(bucketName, itemName); if (isPublicAccess) { initMultipartUploadReq.setCannedACL(CannedAccessControlList.PublicRead); + ObjectMetadata metadata = new ObjectMetadata(); + // Set expiration time to 2 hours(7200 seconds). + // Note: IBM COS doesn't honor this but also doesn't fail on this. + metadata.setExpirationTime(Date.from(Instant.now().plusSeconds(7200))); + initMultipartUploadReq.setObjectMetadata(metadata); } InitiateMultipartUploadResult mpResult = cosClient.initiateMultipartUpload(initMultipartUploadReq); @@ -420,7 +428,7 @@ public static Map, List>>> ge } return searchParametersForResoureTypes; } - + public static JsonArray getDataSourcesFromJobInput(String dataSourcesInfo) { try (JsonReader reader = Json.createReader(new StringReader( diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkcommon/Constants.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkcommon/Constants.java index 1a95f597ff7..b59dd3a56d7 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkcommon/Constants.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkcommon/Constants.java @@ -18,13 +18,13 @@ public class Constants { // The minimal size (5M bytes) for COS multiple-parts upload. public static final int COS_PART_MINIMALSIZE = 5242880; public static final int DEFAULT_SEARCH_PAGE_SIZE = 1000; - public static final int DEFAULT_NUMOFPAGES_EACH_COS_OBJECT = 10; - public static final int DEFAULT_NUMOFOBJECTS_PERREAD = 1; - public static final int DEFAULT_MAXCOSFILE_SIZE = 104857600; + public static final int DEFAULT_COSFILE_MAX_SIZE = 209715200; + public static final int DEFAULT_COSFILE_MAX_RESOURCESNUMBER = 500000; public static final String FHIR_SEARCH_LASTUPDATED = "_lastUpdated"; public static final byte[] NDJSON_LINESEPERATOR = "\r\n".getBytes(); public static final int IMPORT_MAX_PARTITIONPROCESSING_THREADNUMBER = 10; + public static final int EXPORT_MAX_PARTITIONPROCESSING_THREADNUMBER = 10; // The number of resources to commit to DB in each batch, the slower the DB connection, the smaller // this value should be set. public static final int IMPORT_NUMOFFHIRRESOURCES_PERREAD = 20; @@ -40,17 +40,26 @@ public class Constants { public static final String COS_LOCATION = "cos.location"; public static final String COS_BUCKET_NAME = "cos.bucket.name"; public static final String COS_IS_IBM_CREDENTIAL = "cos.credential.ibm"; + public static final String COS_BUCKET_FILE_MAX_SIZE = "cos.bucket.filemaxsize"; + public static final String COS_BUCKET_FILE_MAX_RESOURCES = "cos.bucket.filemaxresources"; // COS bucket for import OperationOutcomes public static final String COS_OPERATIONOUTCOMES_BUCKET_NAME = "cos.operationoutcomes.bucket.name"; public static final String FHIR_TENANT = "fhir.tenant"; public static final String FHIR_DATASTORE_ID = "fhir.datastoreid"; + public static final String FHIR_RESOURCETYPES = "fhir.resourcetype"; public static final String IMPORT_FHIR_STORAGE_TYPE = "import.fhir.storagetype"; public static final String IMPORT_FHIR_IS_VALIDATION_ON = "import.fhir.validation"; public static final String IMPORT_FHIR_DATASOURCES = "fhir.dataSourcesInfo"; - + public static final String EXPORT_FHIR_SEARCH_FROMDATE = "fhir.search.fromdate"; + public static final String EXPORT_FHIR_SEARCH_TODATE = "fhir.search.todate"; + public static final String EXPORT_FHIR_SEARCH_PAGESIZE = "fhir.search.pagesize"; + public static final String EXPORT_FHIR_SEARCH_TYPEFILTERS = "fhir.typeFilters"; + public static final String EXPORT_FHIR_SEARCH_PATIENTGROUPID = "fhir.search.patientgroupid"; + public static final String EXPORT_COS_OBJECT_PATHPREFIX = "cos.bucket.pathprefix"; + // Partition work item info generated in ImportPartitionMapper. - public static final String IMPORT_PARTITTION_WORKITEM = "import.partiton.workitem"; - public static final String IMPORT_PARTITTION_RESOURCE_TYPE = "import.partiton.resourcetype"; + public static final String IMPORT_PARTITTION_WORKITEM = "import.partition.workitem"; + public static final String PARTITION_RESOURCE_TYPE = "partition.resourcetype"; // Control if push OperationOutcomes to COS/S3. public static final boolean IMPORT_IS_COLLECT_OPERATIONOUTCOMES = true; diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/CheckPointAlgorithm.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/CheckPointAlgorithm.java index 11f5bdbd811..37f424bd98e 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/CheckPointAlgorithm.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/CheckPointAlgorithm.java @@ -6,38 +6,45 @@ package com.ibm.fhir.bulkexport.common; +import java.util.logging.Level; import java.util.logging.Logger; import javax.batch.api.BatchProperty; import javax.batch.api.chunk.CheckpointAlgorithm; -import javax.batch.runtime.context.JobContext; +import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.fhir.bulkcommon.Constants; +import com.ibm.fhir.config.FHIRConfigHelper; +import com.ibm.fhir.config.FHIRConfiguration; /** * Bulk export Chunk implementation - custom checkpoint algorithm. * */ - +@Dependent public class CheckPointAlgorithm implements CheckpointAlgorithm { private final static Logger logger = Logger.getLogger(CheckPointAlgorithm.class.getName()); + private int cosFileMaxResources = FHIRConfigHelper.getIntProperty(FHIRConfiguration.PROPERTY_BULKDATA_BATCHJOB_COSFILEMAXRESOURCES, Constants.DEFAULT_COSFILE_MAX_RESOURCESNUMBER); + private int cosFileMaxSize = FHIRConfigHelper.getIntProperty(FHIRConfiguration.PROPERTY_BULKDATA_BATCHJOB_COSFILEMAXSIZE , Constants.DEFAULT_COSFILE_MAX_SIZE); + @Inject - JobContext jobContext; + StepContext stepCtx; /** - * The cos.pagesperobject. + * The file resources number limit when exporting to multiple COS files. */ @Inject - @BatchProperty(name = "cos.pagesperobject") - String pagesPerCosObject; + @BatchProperty(name = Constants.COS_BUCKET_FILE_MAX_RESOURCES) + String cosBucketFileMaxResources; /** * The file size limit when exporting to multiple COS files. */ @Inject - @BatchProperty(name = "cos.bucket.maxfilesize") - String cosBucketMaxFileSize; + @BatchProperty(name = Constants.COS_BUCKET_FILE_MAX_SIZE) + String cosBucketFileMaxSize; /** * Default constructor. @@ -75,42 +82,41 @@ public void beginCheckpoint() { */ @Override public boolean isReadyToCheckpoint() { - TransientUserData chunkData = (TransientUserData) jobContext.getTransientUserData(); + TransientUserData chunkData = (TransientUserData) stepCtx.getTransientUserData(); if (chunkData != null) { - if (chunkData.isSingleCosObject()) { - return chunkData.getBufferStream().size() > Constants.COS_PART_MINIMALSIZE - || chunkData.getPageNum() > chunkData.getLastPageNum(); - } else { - int numofPagePerCosObject, cosMaxFileSize; - if (cosBucketMaxFileSize != null) { - try { - cosMaxFileSize = Integer.parseInt(cosBucketMaxFileSize); - logger.fine("isReadyToCheckpoint: Set max COS file size to " + cosMaxFileSize + "."); - } catch (Exception e) { - cosMaxFileSize = Constants.DEFAULT_MAXCOSFILE_SIZE; - logger.warning("isReadyToCheckpoint: Set max COS file size to default(" - + Constants.DEFAULT_MAXCOSFILE_SIZE + ")."); + if (cosBucketFileMaxSize != null) { + try { + cosFileMaxSize = Integer.parseInt(cosBucketFileMaxSize); + if (logger.isLoggable(Level.FINE)) { + logger.fine("isReadyToCheckpoint: Set max COS file size to " + cosFileMaxSize + "."); } - return (chunkData.getBufferStream().size() >= cosMaxFileSize - || chunkData.getPageNum() > chunkData.getLastPageNum()); - } else { - if (pagesPerCosObject != null) { - try { - numofPagePerCosObject = Integer.parseInt(pagesPerCosObject); - logger.fine("isReadyToCheckpoint: " + numofPagePerCosObject + " pages per COS object!"); - } catch (Exception e) { - numofPagePerCosObject = Constants.DEFAULT_NUMOFPAGES_EACH_COS_OBJECT; - logger.warning("isReadyToCheckpoint: Set number of pages per COS object to default(" - + Constants.DEFAULT_NUMOFPAGES_EACH_COS_OBJECT + ")."); - } - return ((chunkData.getPageNum() - 1) % numofPagePerCosObject == 0 - || chunkData.getPageNum() > chunkData.getLastPageNum()); + } catch (Exception e) { + logger.warning("isReadyToCheckpoint: Set max COS file size to default(" + + Constants.DEFAULT_COSFILE_MAX_SIZE + ")."); + } + + } + + if (cosBucketFileMaxResources != null) { + try { + cosFileMaxResources = Integer.parseInt(cosBucketFileMaxResources); + if (logger.isLoggable(Level.FINE)) { + logger.fine("isReadyToCheckpoint: " + cosFileMaxResources + " resources per COS file!"); } + } catch (Exception e) { + logger.warning("isReadyToCheckpoint: Set number of resources per COS file to default(" + + Constants.DEFAULT_COSFILE_MAX_RESOURCESNUMBER + ")."); } } - } - return true; - } + chunkData.setFinishCurrentUpload(cosFileMaxSize != -1 && chunkData.getCurrentUploadSize() >= cosFileMaxSize + || cosFileMaxResources != -1 && chunkData.getCurrentUploadResourceNum() >= cosFileMaxResources); + + return (chunkData.getPageNum() > chunkData.getLastPageNum() + || chunkData.getBufferStream().size() > Constants.COS_PART_MINIMALSIZE + || chunkData.isFinishCurrentUpload()); + } + return false; + } } diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/CheckPointUserData.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/CheckPointUserData.java index 6c19f3a79d8..6ebc36607ed 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/CheckPointUserData.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/CheckPointUserData.java @@ -20,26 +20,39 @@ public class CheckPointUserData implements java.io.Serializable { private int lastPageNum; private int partNum; private String uploadId; - private boolean isSingleCosObject = false; + private int uploadCount = 1; private List cosDataPacks; - private int indexOfCurrentResourceType; - private int currentPartResourceNum = 0; + private int currentUploadResourceNum = 0; + private int currentUploadSize = 0; + private boolean isFinishCurrentUpload = false; + private int totalResourcesNum = 0; // One resource type can have 0 to multiple typeFilters, indexOfCurrentTypeFilter is used to tell the currently processed typeFilter. private int indexOfCurrentTypeFilter; + // Partition status for the exported resources, e.g, Patient[1000,1000,200] + private String resourceTypeSummary = null; + // Used to mark the complete of the partition. + private boolean isMoreToExport = true; - public CheckPointUserData(int pageNum, String uploadId, List cosDataPacks, int partNum, int indexOfCurrentResourceType, int indexOfCurrentTypeFilter) { + public CheckPointUserData(int pageNum, String uploadId, List cosDataPacks, int partNum, int indexOfCurrentTypeFilter, + String resourceTypeSummary, int totalResourcesNum, int currentUploadResourceNum, int currentUploadSize, int uploadCount) { super(); this.pageNum = pageNum; this.uploadId = uploadId; this.cosDataPacks = cosDataPacks; this.partNum = partNum; - this.indexOfCurrentResourceType = indexOfCurrentResourceType; this.indexOfCurrentTypeFilter = indexOfCurrentTypeFilter; + this.resourceTypeSummary = resourceTypeSummary; + this.totalResourcesNum = totalResourcesNum; + this.currentUploadResourceNum = currentUploadResourceNum; + this.currentUploadSize = currentUploadSize; + this.uploadCount = uploadCount; } public static CheckPointUserData fromTransientUserData(TransientUserData userData) { return new CheckPointUserData(userData.getPageNum(), userData.getUploadId(), userData.getCosDataPacks(), - userData.getPartNum(), userData.getIndexOfCurrentResourceType(), userData.getIndexOfCurrentTypeFilter()); + userData.getPartNum(), userData.getIndexOfCurrentTypeFilter(), userData.getResourceTypeSummary(), + userData.getTotalResourcesNum(), userData.getCurrentUploadResourceNum(), userData.getCurrentUploadSize(), + userData.getUploadCount()); } public int getPageNum() { @@ -66,14 +79,6 @@ public void setCosDataPacks(List cosDataPacks) { this.cosDataPacks = cosDataPacks; } - public boolean isSingleCosObject() { - return isSingleCosObject; - } - - public void setSingleCosObject(boolean isSingleCosObject) { - this.isSingleCosObject = isSingleCosObject; - } - public int getPartNum() { return partNum; } @@ -90,20 +95,12 @@ public void setLastPageNum(int lastPageNum) { this.lastPageNum = lastPageNum; } - public int getIndexOfCurrentResourceType() { - return indexOfCurrentResourceType; - } - - public void setIndexOfCurrentResourceType(int indexOfCurrentResourceType) { - this.indexOfCurrentResourceType = indexOfCurrentResourceType; - } - - public int getCurrentPartResourceNum() { - return currentPartResourceNum; + public int getCurrentUploadResourceNum() { + return currentUploadResourceNum; } - public void setCurrentPartResourceNum(int currentPartResourceNum) { - this.currentPartResourceNum = currentPartResourceNum; + public void setCurrentUploadResourceNum(int currentUploadResourceNum) { + this.currentUploadResourceNum = currentUploadResourceNum; } public int getIndexOfCurrentTypeFilter() { @@ -114,4 +111,52 @@ public void setIndexOfCurrentTypeFilter(int indexOfCurrentTypeFilter) { this.indexOfCurrentTypeFilter = indexOfCurrentTypeFilter; } + public String getResourceTypeSummary() { + return resourceTypeSummary; + } + + public void setResourceTypeSummary(String resourceTypeSummary) { + this.resourceTypeSummary = resourceTypeSummary; + } + + public boolean isMoreToExport() { + return isMoreToExport; + } + + public void setMoreToExport(boolean isMoreToExport) { + this.isMoreToExport = isMoreToExport; + } + + public int getTotalResourcesNum() { + return totalResourcesNum; + } + + public void setTotalResourcesNum(int totalResourcesNum) { + this.totalResourcesNum = totalResourcesNum; + } + + public int getCurrentUploadSize() { + return currentUploadSize; + } + + public void setCurrentUploadSize(int currentUploadSize) { + this.currentUploadSize = currentUploadSize; + } + + public boolean isFinishCurrentUpload() { + return isFinishCurrentUpload; + } + + public void setFinishCurrentUpload(boolean isFinishCurrentUpload) { + this.isFinishCurrentUpload = isFinishCurrentUpload; + } + + public int getUploadCount() { + return uploadCount; + } + + public void setUploadCount(int uploadCount) { + this.uploadCount = uploadCount; + } + } diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/TransientUserData.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/TransientUserData.java index 107d9ff2403..9684bb5a4a6 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/TransientUserData.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/common/TransientUserData.java @@ -19,13 +19,18 @@ public class TransientUserData extends CheckPointUserData { private static final long serialVersionUID = -5892726731783560418L; private ByteArrayOutputStream bufferStream = new ByteArrayOutputStream(); - public TransientUserData(int pageNum, String uploadId, List cosDataPacks, int partNum, int indexOfCurrentResourceType, int indexOfCurrentTypeFilter) { - super(pageNum, uploadId, cosDataPacks, partNum, indexOfCurrentResourceType, indexOfCurrentTypeFilter); + public TransientUserData(int pageNum, String uploadId, List cosDataPacks, int partNum, int indexOfCurrentTypeFilter, + String resourceTypeSummary, int totalResourcesNum, int currentPartResourceNum, int currentPartSize, int uploadCount) { + super(pageNum, uploadId, cosDataPacks, partNum, indexOfCurrentTypeFilter, resourceTypeSummary, + totalResourcesNum, currentPartResourceNum, currentPartSize, uploadCount); } public static TransientUserData fromCheckPointUserData(CheckPointUserData checkPointData) { return new TransientUserData(checkPointData.getPageNum(), checkPointData.getUploadId(), - checkPointData.getCosDataPacks(), checkPointData.getPartNum(), checkPointData.getIndexOfCurrentResourceType(), checkPointData.getIndexOfCurrentTypeFilter()); + checkPointData.getCosDataPacks(), checkPointData.getPartNum(), checkPointData.getIndexOfCurrentTypeFilter(), + checkPointData.getResourceTypeSummary(), checkPointData.getTotalResourcesNum(), + checkPointData.getCurrentUploadResourceNum(), checkPointData.getCurrentUploadSize(), + checkPointData.getUploadCount()); } public ByteArrayOutputStream getBufferStream() { diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/group/ChunkReader.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/group/ChunkReader.java index 9d509f98c1c..b665752ecdc 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/group/ChunkReader.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/group/ChunkReader.java @@ -12,14 +12,17 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; import javax.batch.api.BatchProperty; -import javax.batch.runtime.context.JobContext; +import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.cloud.objectstorage.services.s3.model.PartETag; +import com.ibm.fhir.bulkcommon.Constants; import com.ibm.fhir.bulkexport.common.TransientUserData; import com.ibm.fhir.model.resource.Group; import com.ibm.fhir.model.resource.Group.Member; @@ -33,6 +36,7 @@ /** * Bulk patient group export Chunk implementation - the Reader. */ +@Dependent public class ChunkReader extends com.ibm.fhir.bulkexport.patient.ChunkReader { private final static Logger logger = Logger.getLogger(ChunkReader.class.getName()); // List for the patients @@ -42,11 +46,11 @@ public class ChunkReader extends com.ibm.fhir.bulkexport.patient.ChunkReader { * Fhir search patient group id. */ @Inject - @BatchProperty(name = "fhir.search.patientgroupid") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_PATIENTGROUPID) String fhirSearchPatientGroupId; @Inject - JobContext jobContext; + StepContext stepCtx; public ChunkReader() { super(); @@ -98,17 +102,10 @@ public Object readItem() throws Exception { throw new Exception("readItem: missing group id for this group export job!"); } - TransientUserData chunkData = (TransientUserData) jobContext.getTransientUserData(); + TransientUserData chunkData = (TransientUserData) stepCtx.getTransientUserData(); if (chunkData != null && pageNum > chunkData.getLastPageNum()) { - if (resourceTypes.size() == indexOfCurrentResourceType + 1) { - // No more resource type and page to read, so return null to end the reading. - return null; - } else { - // More resource types to read, so reset pageNum, partNum and move resource type index to the next. - pageNum = 1; - chunkData.setPartNum(1); - indexOfCurrentResourceType++; - } + chunkData.setMoreToExport(false); + return null; } if (patientMembers == null) { @@ -123,16 +120,17 @@ public Object readItem() throws Exception { pageNum++; if (chunkData == null) { - chunkData = new TransientUserData(pageNum, null, new ArrayList(), 1, 0, 0); - jobContext.setTransientUserData(chunkData); + chunkData = new TransientUserData(pageNum, null, new ArrayList(), 1, 0, null, 0, 0, 0, 1); + stepCtx.setTransientUserData(chunkData); } else { - chunkData.setIndexOfCurrentResourceType(indexOfCurrentResourceType); chunkData.setPageNum(pageNum); } chunkData.setLastPageNum((patientMembers.size() + pageSize -1)/pageSize ); if (!patientPageMembers.isEmpty()) { - logger.fine("readItem: loaded patients number - " + patientMembers.size()); + if (logger.isLoggable(Level.FINE)) { + logger.fine("readItem: loaded patients number - " + patientMembers.size()); + } List patientIds = patientPageMembers.stream().filter(patientRef -> patientRef != null).map(patientRef -> patientRef.getEntity().getReference().getValue().substring(8)).collect(Collectors.toList()); diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/ChunkReader.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/ChunkReader.java index 1570b7d0c1f..de211604917 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/ChunkReader.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/ChunkReader.java @@ -21,7 +21,8 @@ import javax.batch.api.BatchProperty; import javax.batch.api.chunk.AbstractItemReader; -import javax.batch.runtime.context.JobContext; +import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.cloud.objectstorage.services.s3.model.PartETag; @@ -41,7 +42,6 @@ import com.ibm.fhir.persistence.context.FHIRPersistenceContextFactory; import com.ibm.fhir.persistence.helper.FHIRPersistenceHelper; import com.ibm.fhir.persistence.helper.FHIRTransactionHelper; -import com.ibm.fhir.search.compartment.CompartmentUtil; import com.ibm.fhir.search.context.FHIRSearchContext; import com.ibm.fhir.search.util.SearchUtil; @@ -49,15 +49,15 @@ * Bulk patient export Chunk implementation - the Reader. * */ +@Dependent public class ChunkReader extends AbstractItemReader { private final static Logger logger = Logger.getLogger(ChunkReader.class.getName()); protected int pageNum = 1; - protected int indexOfCurrentResourceType = 0; // Control the number of records to read in each "item". protected int pageSize = Constants.DEFAULT_SEARCH_PAGE_SIZE; protected FHIRPersistence fhirPersistence; - protected List resourceTypes; + Class resourceType; // Search parameters for resource types gotten from fhir.typeFilters job parameter. Map, List>>> searchParametersForResoureTypes = null; @@ -71,7 +71,7 @@ public class ChunkReader extends AbstractItemReader { * Fhir tenant id. */ @Inject - @BatchProperty(name = "fhir.tenant") + @BatchProperty(name = Constants.FHIR_TENANT) protected String fhirTenant; @@ -79,62 +79,58 @@ public class ChunkReader extends AbstractItemReader { * Fhir data store id. */ @Inject - @BatchProperty(name = "fhir.datastoreid") + @BatchProperty(name = Constants.FHIR_DATASTORE_ID) protected String fhirDatastoreId; /** - * Fhir ResourceType. + * Fhir resource type to process. */ @Inject - @BatchProperty(name = "fhir.resourcetype") - protected String fhirResourceType; + @BatchProperty(name = Constants.PARTITION_RESOURCE_TYPE) + String fhirResourceType; /** * Fhir Search from date. */ @Inject - @BatchProperty(name = "fhir.search.fromdate") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_FROMDATE) String fhirSearchFromDate; /** * Fhir search to date. */ @Inject - @BatchProperty(name = "fhir.search.todate") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_TODATE) String fhirSearchToDate; /** * Fhir search page size. */ @Inject - @BatchProperty(name = "fhir.search.pagesize") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_PAGESIZE) String fhirSearchPageSize; /** * Fhir export type filters. */ @Inject - @BatchProperty(name = "fhir.typeFilters") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_TYPEFILTERS) String fhirTypeFilters; @Inject - JobContext jobContext; + StepContext stepCtx; - /** - * @see AbstractItemReader#AbstractItemReader() - */ public ChunkReader() { super(); } protected void fillChunkDataBuffer(List patientIds) throws Exception { - TransientUserData chunkData = (TransientUserData) jobContext.getTransientUserData(); + TransientUserData chunkData = (TransientUserData) stepCtx.getTransientUserData(); int indexOfCurrentTypeFilter = 0; int compartmentPageNum = 1; int resSubTotal = 0; FHIRSearchContext searchContext; - Class resourceType = ModelSupport.getResourceType(resourceTypes.get(indexOfCurrentResourceType)); if (chunkData != null) { do { @@ -163,8 +159,7 @@ protected void fillChunkDataBuffer(List patientIds) throws Exception { for (String patientId : patientIds) { - searchContext = SearchUtil.parseQueryParameters("Patient", patientId, - ModelSupport.getResourceType(resourceTypes.get(indexOfCurrentResourceType)), queryParameters, true); + searchContext = SearchUtil.parseQueryParameters("Patient", patientId, resourceType, queryParameters, true); do { searchContext.setPageSize(pageSize); searchContext.setPageNumber(compartmentPageNum); @@ -206,7 +201,8 @@ protected void fillChunkDataBuffer(List patientIds) throws Exception { indexOfCurrentTypeFilter++; } while (searchParametersForResoureTypes.get(resourceType) != null && indexOfCurrentTypeFilter < searchParametersForResoureTypes.get(resourceType).size()); - chunkData.setCurrentPartResourceNum(chunkData.getCurrentPartResourceNum() + resSubTotal); + chunkData.setCurrentUploadResourceNum(chunkData.getCurrentUploadResourceNum() + resSubTotal); + chunkData.setTotalResourcesNum(chunkData.getTotalResourcesNum() + resSubTotal); if (logger.isLoggable(Level.FINE)) { logger.fine("fillChunkDataBuffer: Processed resources - " + resSubTotal + "; Bufferred data size - " + chunkData.getBufferStream().size()); @@ -221,19 +217,11 @@ protected void fillChunkDataBuffer(List patientIds) throws Exception { @Override public Object readItem() throws Exception { - TransientUserData chunkData = (TransientUserData) jobContext.getTransientUserData(); + TransientUserData chunkData = (TransientUserData) stepCtx.getTransientUserData(); if (chunkData != null && pageNum > chunkData.getLastPageNum()) { - if (resourceTypes.size() == indexOfCurrentResourceType + 1) { - // No more resource type and page to read, so return null to end the reading. + // No more page to read, so return null to end the reading. + chunkData.setMoreToExport(false); return null; - } else { - // More resource types to read, so reset pageNum, partNum and move resource type index to the next. - pageNum = 1; - chunkData.setPartNum(1); - indexOfCurrentResourceType++; - isDoDuplicationCheck = false; - loadedResourceIds.clear(); - } } FHIRSearchContext searchContext; @@ -266,17 +254,18 @@ public Object readItem() throws Exception { pageNum++; if (chunkData == null) { - chunkData = new TransientUserData(pageNum, null, new ArrayList(), 1, 0, 0); + chunkData = new TransientUserData(pageNum, null, new ArrayList(), 1, 0, null, 0, 0, 0, 1); chunkData.setLastPageNum(searchContext.getLastPageNumber()); - jobContext.setTransientUserData(chunkData); + stepCtx.setTransientUserData(chunkData); } else { chunkData.setPageNum(pageNum); - chunkData.setIndexOfCurrentResourceType(indexOfCurrentResourceType); chunkData.setLastPageNum(searchContext.getLastPageNumber()); } if (resources != null) { - logger.fine("readItem(" + resourceTypes.get(indexOfCurrentResourceType) + "): loaded patients number - " + resources.size()); + if (logger.isLoggable(Level.FINE)) { + logger.fine("readItem(" + fhirResourceType + "): loaded patients number - " + resources.size()); + } List patientIds = resources.stream().filter(item -> item.getId() != null).map(item -> item.getId()).collect(Collectors.toList()); if (patientIds != null && patientIds.size() > 0) { @@ -294,8 +283,7 @@ public void open(Serializable checkpoint) throws Exception { if (checkpoint != null) { CheckPointUserData checkPointData = (CheckPointUserData) checkpoint; pageNum = checkPointData.getPageNum(); - indexOfCurrentResourceType = checkPointData.getIndexOfCurrentResourceType(); - jobContext.setTransientUserData(TransientUserData.fromCheckPointUserData(checkPointData)); + stepCtx.setTransientUserData(TransientUserData.fromCheckPointUserData(checkPointData)); } if (fhirTenant == null) { @@ -309,7 +297,9 @@ public void open(Serializable checkpoint) throws Exception { if (fhirSearchPageSize != null) { try { pageSize = Integer.parseInt(fhirSearchPageSize); - logger.fine("open: Set page size to " + pageSize + "."); + if (logger.isLoggable(Level.FINE)) { + logger.fine("open: Set page size to " + pageSize + "."); + } } catch (Exception e) { logger.warning("open: Set page size to default(" + Constants.DEFAULT_SEARCH_PAGE_SIZE + ")."); } @@ -319,26 +309,17 @@ public void open(Serializable checkpoint) throws Exception { fhirPersistence = fhirPersistenceHelper.getFHIRPersistenceImplementation(); searchParametersForResoureTypes = BulkDataUtils.getSearchParemetersFromTypeFilters(fhirTypeFilters); - List allCompartmentResourceTypes = CompartmentUtil.getCompartmentResourceTypes("Patient"); - if (fhirResourceType == null ) { - resourceTypes = allCompartmentResourceTypes; - } else { - List tmpResourceTypes = Arrays.asList(fhirResourceType.split("\\s*,\\s*")); - resourceTypes = tmpResourceTypes.stream().filter(item-> allCompartmentResourceTypes.contains(item)).collect(Collectors.toList()); - if (resourceTypes == null || resourceTypes.isEmpty()) { - throw new Exception("open: None of the input resource types is valid!"); - } - } + resourceType = ModelSupport.getResourceType(fhirResourceType); } @Override public void close() throws Exception { - + // do nothing } @Override public Serializable checkpointInfo() throws Exception { - return CheckPointUserData.fromTransientUserData((TransientUserData) jobContext.getTransientUserData()); + return CheckPointUserData.fromTransientUserData((TransientUserData) stepCtx.getTransientUserData()); } } diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/ChunkWriter.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/ChunkWriter.java deleted file mode 100644 index 6f5521902e5..00000000000 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/ChunkWriter.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * (C) Copyright IBM Corp. 2019, 2020 - * - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.ibm.fhir.bulkexport.patient; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -import javax.batch.api.BatchProperty; -import javax.inject.Inject; - -import com.ibm.fhir.search.compartment.CompartmentUtil; - -/** - * Bulk patient export Chunk implementation - the Writer. - * - */ - -public class ChunkWriter extends com.ibm.fhir.bulkexport.system.ChunkWriter { - - /** - * Fhir ResourceType. - */ - @Inject - @BatchProperty(name = "fhir.resourcetype") - String fhirResourceType; - - @Override - protected List getResourceTypes() throws Exception { - List resourceTypes; - List allCompartmentResourceTypes = CompartmentUtil.getCompartmentResourceTypes("Patient"); - if (fhirResourceType == null ) { - resourceTypes = allCompartmentResourceTypes; - } else { - List tmpResourceTypes = Arrays.asList(fhirResourceType.split("\\s*,\\s*")); - resourceTypes = tmpResourceTypes.stream().filter(item-> allCompartmentResourceTypes.contains(item)).collect(Collectors.toList()); - if (resourceTypes == null || resourceTypes.isEmpty()) { - throw new Exception("readItem: None of the input resource types is valid!"); - } - } - return resourceTypes; - } -} diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/PatientExportPartitionMapper.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/PatientExportPartitionMapper.java new file mode 100644 index 00000000000..dab268687d5 --- /dev/null +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/patient/PatientExportPartitionMapper.java @@ -0,0 +1,68 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.bulkexport.patient; + +import java.util.Arrays; +import java.util.List; +import java.util.Properties; +import java.util.stream.Collectors; + +import javax.batch.api.BatchProperty; +import javax.batch.api.partition.PartitionMapper; +import javax.batch.api.partition.PartitionPlan; +import javax.batch.api.partition.PartitionPlanImpl; +import javax.enterprise.context.Dependent; +import javax.inject.Inject; + +import com.ibm.fhir.bulkcommon.Constants; +import com.ibm.fhir.search.compartment.CompartmentUtil; + +@Dependent +public class PatientExportPartitionMapper implements PartitionMapper { + + /** + * Fhir ResourceType. + */ + @Inject + @BatchProperty(name = Constants.FHIR_RESOURCETYPES) + String fhirResourceType; + + + public PatientExportPartitionMapper() { + // No Operation + } + + @Override + public PartitionPlan mapPartitions() throws Exception { + List resourceTypes; + List allCompartmentResourceTypes = CompartmentUtil.getCompartmentResourceTypes("Patient"); + if (fhirResourceType == null ) { + resourceTypes = allCompartmentResourceTypes; + } else { + List tmpResourceTypes = Arrays.asList(fhirResourceType.split("\\s*,\\s*")); + resourceTypes = tmpResourceTypes.stream().filter(item-> allCompartmentResourceTypes.contains(item)).collect(Collectors.toList()); + if (resourceTypes == null || resourceTypes.isEmpty()) { + throw new Exception("open: None of the input resource types is valid!"); + } + } + + PartitionPlanImpl pp = new PartitionPlanImpl(); + pp.setPartitions(resourceTypes.size()); + pp.setThreads(Math.min(Constants.EXPORT_MAX_PARTITIONPROCESSING_THREADNUMBER, resourceTypes.size())); + Properties[] partitionProps = new Properties[resourceTypes.size()]; + + int propCount = 0; + for (String resourceType : resourceTypes) { + Properties p = new Properties(); + p.setProperty(Constants.PARTITION_RESOURCE_TYPE, resourceType); + partitionProps[propCount++] = p; + } + pp.setPartitionProperties(partitionProps); + + return pp; + } +} \ No newline at end of file diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ChunkReader.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ChunkReader.java index 98ee0eb897f..0321e4db43f 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ChunkReader.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ChunkReader.java @@ -20,7 +20,8 @@ import javax.batch.api.BatchProperty; import javax.batch.api.chunk.AbstractItemReader; -import javax.batch.runtime.context.JobContext; +import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.cloud.objectstorage.services.s3.model.PartETag; @@ -46,11 +47,11 @@ * Bulk system export Chunk implementation - the Reader. * */ +@Dependent public class ChunkReader extends AbstractItemReader { private final static Logger logger = Logger.getLogger(ChunkReader.class.getName()); boolean isSingleCosObject = false; int pageNum = 1; - int indexOfCurrentResourceType = 0; // Control the number of records to read in each "item". int pageSize = Constants.DEFAULT_SEARCH_PAGE_SIZE; // Search parameters for resource types gotten from fhir.typeFilters job parameter. @@ -64,73 +65,66 @@ public class ChunkReader extends AbstractItemReader { boolean isDoDuplicationCheck = false; FHIRPersistence fhirPersistence; - List resourceTypes; + Class resourceType; /** * Fhir tenant id. */ @Inject - @BatchProperty(name = "fhir.tenant") + @BatchProperty(name = Constants.FHIR_TENANT) String fhirTenant; /** * Fhir data store id. */ @Inject - @BatchProperty(name = "fhir.datastoreid") + @BatchProperty(name = Constants.FHIR_DATASTORE_ID) String fhirDatastoreId; /** - * Fhir ResourceType. + * Fhir resource type to process. */ @Inject - @BatchProperty(name = "fhir.resourcetype") + @BatchProperty(name = Constants.PARTITION_RESOURCE_TYPE) String fhirResourceType; /** * Fhir Search from date. */ @Inject - @BatchProperty(name = "fhir.search.fromdate") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_FROMDATE) String fhirSearchFromDate; /** * Fhir search to date. */ @Inject - @BatchProperty(name = "fhir.search.todate") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_TODATE) String fhirSearchToDate; /** * Fhir export type filters. */ @Inject - @BatchProperty(name = "fhir.typeFilters") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_TYPEFILTERS) String fhirTypeFilters; /** * Fhir search page size. */ @Inject - @BatchProperty(name = "fhir.search.pagesize") + @BatchProperty(name = Constants.EXPORT_FHIR_SEARCH_PAGESIZE) String fhirSearchPageSize; - /** - * The Cos object name. - */ - @Inject - @BatchProperty(name = "cos.bucket.objectname") - String cosBucketObjectName; - @Inject - JobContext jobContext; + StepContext stepCtx; public ChunkReader() { super(); } private void fillChunkDataBuffer(List resources) throws Exception { - TransientUserData chunkData = (TransientUserData) jobContext.getTransientUserData(); + TransientUserData chunkData = (TransientUserData) stepCtx.getTransientUserData(); int resSubTotal = 0; if (chunkData != null) { for (Resource res : resources) { @@ -158,7 +152,9 @@ private void fillChunkDataBuffer(List resources) throws Exception { throw e; } } - chunkData.setCurrentPartResourceNum(chunkData.getCurrentPartResourceNum() + resSubTotal); + chunkData.setCurrentUploadResourceNum(chunkData.getCurrentUploadResourceNum() + resSubTotal); + chunkData.setCurrentUploadSize(chunkData.getCurrentUploadSize() + chunkData.getBufferStream().size()); + chunkData.setTotalResourcesNum(chunkData.getTotalResourcesNum() + resSubTotal); logger.fine("fillChunkDataBuffer: Processed resources - " + resSubTotal + "; Bufferred data size - " + chunkData.getBufferStream().size()); } else { @@ -170,25 +166,12 @@ private void fillChunkDataBuffer(List resources) throws Exception { @Override public Object readItem() throws Exception { - - TransientUserData chunkData = (TransientUserData) jobContext.getTransientUserData(); - // If the search already reaches the last page, then check if need to move to the next typeFilter or next resource type. + TransientUserData chunkData = (TransientUserData) stepCtx.getTransientUserData(); + // If the search already reaches the last page, then check if need to move to the next typeFilter. if (chunkData != null && pageNum > chunkData.getLastPageNum()) { - Class resourceType = ModelSupport.getResourceType(resourceTypes.get(indexOfCurrentResourceType)); if (searchParametersForResoureTypes.get(resourceType) == null || searchParametersForResoureTypes.get(resourceType).size() <= indexOfCurrentTypeFilter + 1) { - // If there is no more typeFilter to process for current resource type, then check if there is any more resource type to process. - if (resourceTypes.size() == indexOfCurrentResourceType + 1) { - // No more resource type and page to read, so return null to end the reading. - return null; - } else { - // More resource types to read, so reset pageNum, partNum and move resource type index to the next and reset indexOfCurrentTypeFilter. - pageNum = 1; - chunkData.setPartNum(1); - indexOfCurrentResourceType++; - indexOfCurrentTypeFilter = 0; - isDoDuplicationCheck = false; - loadedResourceIds.clear(); - } + chunkData.setMoreToExport(false); + return null; } else { // If there is more typeFilter to process for current resource type, then reset pageNum only and move to the next typeFilter. pageNum = 1; @@ -196,8 +179,6 @@ public Object readItem() throws Exception { } } - Class resourceType = ModelSupport - .getResourceType(resourceTypes.get(indexOfCurrentResourceType)); FHIRSearchContext searchContext; FHIRPersistenceContext persistenceContext; Map> queryParameters = new HashMap<>(); @@ -236,21 +217,19 @@ public Object readItem() throws Exception { pageNum++; if (chunkData == null) { - chunkData = new TransientUserData(pageNum, null, new ArrayList(), 1, 0, 0); + chunkData = new TransientUserData(pageNum, null, new ArrayList(), 1, 0, null, 0, 0, 0, 1); chunkData.setLastPageNum(searchContext.getLastPageNumber()); - if (isSingleCosObject) { - chunkData.setSingleCosObject(true); - } - jobContext.setTransientUserData(chunkData); + stepCtx.setTransientUserData(chunkData); } else { chunkData.setPageNum(pageNum); - chunkData.setIndexOfCurrentResourceType(indexOfCurrentResourceType); chunkData.setIndexOfCurrentTypeFilter(indexOfCurrentTypeFilter); chunkData.setLastPageNum(searchContext.getLastPageNumber()); } if (resources != null) { - logger.fine("readItem: loaded resources number - " + resources.size()); + if (logger.isLoggable(Level.FINE)) { + logger.fine("readItem: loaded resources number - " + resources.size()); + } fillChunkDataBuffer(resources); } else { logger.fine("readItem: End of reading!"); @@ -264,9 +243,8 @@ public void open(Serializable checkpoint) throws Exception { if (checkpoint != null) { CheckPointUserData checkPointData = (CheckPointUserData) checkpoint; pageNum = checkPointData.getPageNum(); - indexOfCurrentResourceType = checkPointData.getIndexOfCurrentResourceType(); indexOfCurrentTypeFilter = checkPointData.getIndexOfCurrentTypeFilter(); - jobContext.setTransientUserData(TransientUserData.fromCheckPointUserData(checkPointData)); + stepCtx.setTransientUserData(TransientUserData.fromCheckPointUserData(checkPointData)); } if (fhirTenant == null) { @@ -280,36 +258,30 @@ public void open(Serializable checkpoint) throws Exception { if (fhirSearchPageSize != null) { try { pageSize = Integer.parseInt(fhirSearchPageSize); - logger.fine("open: Set page size to " + pageSize + "."); + if (logger.isLoggable(Level.FINE)) { + logger.fine("open: Set page size to " + pageSize + "."); + } } catch (Exception e) { logger.warning("open: Set page size to default(" + Constants.DEFAULT_SEARCH_PAGE_SIZE + ")."); } } - if (cosBucketObjectName != null - && cosBucketObjectName.trim().length() > 0 - // Single COS object uploading is for single resource type export only. - && resourceTypes.size() == 1) { - isSingleCosObject = true; - logger.info("open: Use single COS object for uploading!"); - } - FHIRRequestContext.set(new FHIRRequestContext(fhirTenant, fhirDatastoreId)); FHIRPersistenceHelper fhirPersistenceHelper = new FHIRPersistenceHelper(); fhirPersistence = fhirPersistenceHelper.getFHIRPersistenceImplementation(); - resourceTypes = Arrays.asList(fhirResourceType.split("\\s*,\\s*")); searchParametersForResoureTypes = BulkDataUtils.getSearchParemetersFromTypeFilters(fhirTypeFilters); + resourceType = ModelSupport.getResourceType(fhirResourceType); } @Override public void close() throws Exception { - + // do nothing. } @Override public Serializable checkpointInfo() throws Exception { - return CheckPointUserData.fromTransientUserData((TransientUserData) jobContext.getTransientUserData()); + return CheckPointUserData.fromTransientUserData((TransientUserData) stepCtx.getTransientUserData()); } } diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ChunkWriter.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ChunkWriter.java index aac74f1d0c1..7c94759545f 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ChunkWriter.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ChunkWriter.java @@ -8,22 +8,18 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; -import java.time.Instant; -import java.util.Arrays; -import java.util.Date; import java.util.List; import java.util.logging.Logger; import javax.batch.api.BatchProperty; import javax.batch.api.chunk.AbstractItemWriter; import javax.batch.runtime.context.JobContext; +import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.cloud.objectstorage.services.s3.AmazonS3; -import com.ibm.cloud.objectstorage.services.s3.model.CannedAccessControlList; import com.ibm.cloud.objectstorage.services.s3.model.CreateBucketRequest; -import com.ibm.cloud.objectstorage.services.s3.model.ObjectMetadata; -import com.ibm.cloud.objectstorage.services.s3.model.PutObjectRequest; import com.ibm.fhir.bulkcommon.BulkDataUtils; import com.ibm.fhir.bulkcommon.Constants; import com.ibm.fhir.bulkexport.common.TransientUserData; @@ -34,6 +30,7 @@ * Bulk export Chunk implementation - the Writer. * */ +@Dependent public class ChunkWriter extends AbstractItemWriter { private static final Logger logger = Logger.getLogger(ChunkWriter.class.getName()); private AmazonS3 cosClient = null; @@ -43,64 +40,60 @@ public class ChunkWriter extends AbstractItemWriter { * The IBM COS API key or S3 access key. */ @Inject - @BatchProperty(name = "cos.api.key") + @BatchProperty(name = Constants.COS_API_KEY) String cosApiKeyProperty; /** * The IBM COS service instance id or s3 secret key. */ @Inject - @BatchProperty(name = "cos.srvinst.id") + @BatchProperty(name = Constants.COS_SRVINST_ID) String cosSrvinstId; /** * The Cos End point URL. */ @Inject - @BatchProperty(name = "cos.endpointurl") + @BatchProperty(name = Constants.COS_ENDPOINT_URL) String cosEndpointUrl; /** * The Cos End point location. */ @Inject - @BatchProperty(name = "cos.location") + @BatchProperty(name = Constants.COS_LOCATION) String cosLocation; /** * The Cos bucket name. */ @Inject - @BatchProperty(name = "cos.bucket.name") + @BatchProperty(name = Constants.COS_BUCKET_NAME) String cosBucketName; /** * The Cos bucket path prefix. */ @Inject - @BatchProperty(name = "cos.bucket.pathprefix") + @BatchProperty(name = Constants.EXPORT_COS_OBJECT_PATHPREFIX) String cosBucketPathPrefix; /** * If use IBM credential or Amazon secret keys. */ @Inject - @BatchProperty(name = "cos.credential.ibm") + @BatchProperty(name = Constants.COS_IS_IBM_CREDENTIAL) String cosCredentialIbm; /** - * The Cos object name(only used by system export for exporting single resource type) + * Fhir resource type to process. */ @Inject - @BatchProperty(name = "cos.bucket.objectname") - String cosBucketObjectName; + @BatchProperty(name = Constants.PARTITION_RESOURCE_TYPE) + String fhirResourceType; - /** - * Fhir ResourceType. - */ @Inject - @BatchProperty(name = "fhir.resourcetype") - String fhirResourceType; + StepContext stepCtx; @Inject JobContext jobContext; @@ -112,96 +105,63 @@ public ChunkWriter() { super(); } - - protected List getResourceTypes() throws Exception { - return Arrays.asList(fhirResourceType.split("\\s*,\\s*")); - } - private void pushFhirJsonsToCos(InputStream in, int dataLength) throws Exception { if (cosClient == null) { logger.warning("pushFhirJsons2Cos: no cosClient!"); throw new Exception("pushFhirJsons2Cos: no cosClient!"); } - List ResourceTypes = getResourceTypes(); - - TransientUserData chunkData = (TransientUserData) jobContext.getTransientUserData(); + TransientUserData chunkData = (TransientUserData) stepCtx.getTransientUserData(); if (chunkData == null) { logger.warning("pushFhirJsons2Cos: chunkData is null, this should never happen!"); throw new Exception("pushFhirJsons2Cos: chunkData is null, this should never happen!"); } - if (chunkData.isSingleCosObject()) { - if (chunkData.getUploadId() == null) { - chunkData.setUploadId(BulkDataUtils.startPartUpload(cosClient, cosBucketName, cosBucketObjectName, false)); - } - chunkData.getCosDataPacks().add(BulkDataUtils.multiPartUpload(cosClient, cosBucketName, cosBucketObjectName, - chunkData.getUploadId(), in, dataLength, chunkData.getPartNum())); - logger.info("pushFhirJsons2Cos: " + dataLength + " bytes were successfully appended to COS object - " - + cosBucketObjectName); - chunkData.setPartNum(chunkData.getPartNum() + 1); - chunkData.getBufferStream().reset(); - - if (chunkData.getPageNum() > chunkData.getLastPageNum()) { - BulkDataUtils.finishMultiPartUpload(cosClient, cosBucketName, cosBucketObjectName, chunkData.getUploadId(), - chunkData.getCosDataPacks()); - jobContext.setExitStatus(cosBucketObjectName + "; " + ResourceTypes.get(chunkData.getIndexOfCurrentResourceType()) - + "[" + chunkData.getCurrentPartResourceNum() + "]"); - } + String itemName; + if (cosBucketPathPrefix != null && cosBucketPathPrefix.trim().length() > 0) { + itemName = cosBucketPathPrefix + "/" + fhirResourceType + "_" + chunkData.getUploadCount() + ".ndjson"; } else { - ObjectMetadata metadata = new ObjectMetadata(); - metadata.setContentLength(dataLength); - - String itemName; - PutObjectRequest req; - if (cosBucketPathPrefix != null && cosBucketPathPrefix.trim().length() > 0) { - itemName = cosBucketPathPrefix + "/" + ResourceTypes.get(chunkData.getIndexOfCurrentResourceType()) - + "_" + chunkData.getPartNum() + ".ndjson"; - if (isExportPublic) { - // Set expiration time to 2 hours(7200 seconds). - // Note: IBM COS doesn't honor this but also doesn't fail on this. - metadata.setExpirationTime(Date.from(Instant.now().plusSeconds(7200))); - } - - req = new PutObjectRequest(cosBucketName, itemName, in, metadata); - - if (isExportPublic) { - // Give public read only access. - req.setCannedAcl(CannedAccessControlList.PublicRead); - } + itemName = "job" + jobContext.getExecutionId() + "/" + fhirResourceType + "_" + chunkData.getUploadCount() + ".ndjson"; + } - } else { - itemName = "job" + jobContext.getExecutionId() + "/" + ResourceTypes.get(chunkData.getIndexOfCurrentResourceType()) - + "_" + chunkData.getPartNum() + ".ndjson"; - req = new PutObjectRequest(cosBucketName, itemName, in, metadata); - } + if (chunkData.getUploadId() == null) { + chunkData.setUploadId(BulkDataUtils.startPartUpload(cosClient, cosBucketName, itemName, isExportPublic)); + } - cosClient.putObject(req); - logger.info( - "pushFhirJsons2Cos: " + itemName + "(" + dataLength + " bytes) was successfully written to COS"); - // Job exit status, e.g, Patient[1000,1000,200]:Observation[1000,1000,200] - if (jobContext.getExitStatus() == null) { - jobContext.setExitStatus(ResourceTypes.get(chunkData.getIndexOfCurrentResourceType()) - + "[" + chunkData.getCurrentPartResourceNum()); + chunkData.getCosDataPacks().add(BulkDataUtils.multiPartUpload(cosClient, cosBucketName, itemName, + chunkData.getUploadId(), in, dataLength, chunkData.getPartNum())); + logger.info("pushFhirJsons2Cos: " + dataLength + " bytes were successfully appended to COS object - " + + itemName); + chunkData.setPartNum(chunkData.getPartNum() + 1); + chunkData.getBufferStream().reset(); + + if (chunkData.getPageNum() > chunkData.getLastPageNum() || chunkData.isFinishCurrentUpload()) { + BulkDataUtils.finishMultiPartUpload(cosClient, cosBucketName, itemName, chunkData.getUploadId(), + chunkData.getCosDataPacks()); + // Partition status for the exported resources, e.g, Patient[1000,1000,200] + if (chunkData.getResourceTypeSummary() == null) { + chunkData.setResourceTypeSummary(fhirResourceType + "[" + chunkData.getCurrentUploadResourceNum()); if (chunkData.getPageNum() > chunkData.getLastPageNum()) { - jobContext.setExitStatus(jobContext.getExitStatus() + "]"); + chunkData.setResourceTypeSummary(chunkData.getResourceTypeSummary() + "]"); } } else { - if (chunkData.getPartNum() == 1) { - jobContext.setExitStatus(jobContext.getExitStatus() + ":" - + ResourceTypes.get(chunkData.getIndexOfCurrentResourceType()) + "[" - + chunkData.getCurrentPartResourceNum()); - } else { - jobContext.setExitStatus(jobContext.getExitStatus() + "," + chunkData.getCurrentPartResourceNum()); - } + chunkData.setResourceTypeSummary(chunkData.getResourceTypeSummary() + "," + chunkData.getCurrentUploadResourceNum()); if (chunkData.getPageNum() > chunkData.getLastPageNum()) { - jobContext.setExitStatus(jobContext.getExitStatus() + "]"); + chunkData.setResourceTypeSummary(chunkData.getResourceTypeSummary() + "]"); + stepCtx.setTransientUserData(chunkData); } } - chunkData.setPartNum(chunkData.getPartNum() + 1); - chunkData.getBufferStream().reset(); - chunkData.setCurrentPartResourceNum(0); + + if (chunkData.getPageNum() <= chunkData.getLastPageNum()) { + chunkData.setPartNum(1); + chunkData.setUploadId(null); + chunkData.setCurrentUploadResourceNum(0); + chunkData.setCurrentUploadSize(0); + chunkData.setFinishCurrentUpload(false); + chunkData.getCosDataPacks().clear(); + chunkData.setUploadCount(chunkData.getUploadCount() + 1); + } } } @@ -229,7 +189,7 @@ public void writeItems(List arg0) throws Exception { cosClient.createBucket(req); } - TransientUserData chunkData = (TransientUserData) jobContext.getTransientUserData(); + TransientUserData chunkData = (TransientUserData) stepCtx.getTransientUserData(); if (chunkData == null) { logger.warning("writeItems: chunkData is null, this should never happen!"); throw new Exception("writeItems: chunkData is null, this should never happen!"); diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportJobListener.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportJobListener.java new file mode 100644 index 00000000000..8228c98ab4b --- /dev/null +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportJobListener.java @@ -0,0 +1,100 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.bulkexport.system; + +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.logging.Logger; + +import javax.batch.api.BatchProperty; +import javax.batch.api.listener.JobListener; +import javax.batch.operations.JobOperator; +import javax.batch.runtime.BatchRuntime; +import javax.batch.runtime.JobExecution; +import javax.batch.runtime.context.JobContext; +import javax.enterprise.context.Dependent; +import javax.inject.Inject; + +import com.ibm.fhir.bulkcommon.Constants; +import com.ibm.fhir.bulkexport.common.CheckPointUserData; + +@Dependent +public class ExportJobListener implements JobListener { + private static final Logger logger = Logger.getLogger(ExportJobListener.class.getName()); + + long currentExecutionStartTimeInMS; + + @Inject + JobContext jobContext; + + @Inject + @BatchProperty(name = Constants.IMPORT_FHIR_DATASOURCES) + String dataSourcesInfo; + + public ExportJobListener() { + // do nothing + } + + + @Override + public void afterJob() { + long currentExecutionEndTimeInMS = TimeUnit.NANOSECONDS.toMillis(System.nanoTime()); + + // Used for generating response for all the import data resources. + @SuppressWarnings("unchecked") + List partitionSummaries = (List)jobContext.getTransientUserData(); + + JobOperator jobOperator = BatchRuntime.getJobOperator(); + long totalJobExecutionMilliSeconds = 0; + // The job can be started, stopped and then started again, so we need to add them all to get the whole job execution duration. + for ( JobExecution jobExecution: jobOperator.getJobExecutions(jobOperator.getJobInstance(jobContext.getExecutionId()))) { + // For current execution, jobExecution.getEndTime() is either null or with wrong value because the current execution is not + // finished yet, so always use system time for both job execution start time and end time. + if (jobExecution.getExecutionId() == jobContext.getExecutionId()) { + totalJobExecutionMilliSeconds += (currentExecutionEndTimeInMS - currentExecutionStartTimeInMS); + } else { + totalJobExecutionMilliSeconds += (jobExecution.getEndTime().getTime() - jobExecution.getStartTime().getTime()); + } + } + + // If the job is stopped before any partition is finished, then nothing to show. + if (partitionSummaries == null) { + return; + } + + double jobProcessingSeconds = totalJobExecutionMilliSeconds / 1000.0; + jobProcessingSeconds = jobProcessingSeconds < 1 ? 1.0 : jobProcessingSeconds; + + // log the simple metrics. + logger.info(" ---- Fhir resources exported in " + jobProcessingSeconds + "seconds ----"); + logger.info("ResourceType \t| Exported"); + int totalExportedFhirResources = 0; + List resourceTypeSummaries = new ArrayList<>(); + for (CheckPointUserData partitionSummary : partitionSummaries) { + logger.info(partitionSummary.getResourceTypeSummary() + "\t|" + + partitionSummary.getTotalResourcesNum()); + resourceTypeSummaries.add(partitionSummary.getResourceTypeSummary()); + totalExportedFhirResources += partitionSummary.getTotalResourcesNum(); + } + + logger.info(" ---- Total: " + totalExportedFhirResources + + " ExportRate: " + new DecimalFormat("#0.00").format(totalExportedFhirResources/jobProcessingSeconds) + " ----"); + + if (resourceTypeSummaries.size() > 0) { + // e.g, Patient[1000,1000,200]:Observation[1000,250] + jobContext.setExitStatus(String.join(":", resourceTypeSummaries)); + } + } + + @Override + public void beforeJob() { + currentExecutionStartTimeInMS = TimeUnit.NANOSECONDS.toMillis(System.nanoTime()); + } + +} diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportPartitionAnalyzer.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportPartitionAnalyzer.java new file mode 100644 index 00000000000..02e2db1abe8 --- /dev/null +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportPartitionAnalyzer.java @@ -0,0 +1,47 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.bulkexport.system; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +import javax.batch.api.partition.PartitionAnalyzer; +import javax.batch.runtime.BatchStatus; +import javax.batch.runtime.context.JobContext; +import javax.enterprise.context.Dependent; +import javax.inject.Inject; + +import com.ibm.fhir.bulkexport.common.CheckPointUserData; + +@Dependent +public class ExportPartitionAnalyzer implements PartitionAnalyzer { + @Inject + JobContext jobContext; + + private List partitionSummaries = new ArrayList<>(); + + public ExportPartitionAnalyzer() { + // do nothing. + } + + @Override + public void analyzeStatus(BatchStatus batchStatus, String exitStatus) { + // do nothing. + } + + @Override + public void analyzeCollectorData(Serializable data) { + if (data == null) { + return; + } + + CheckPointUserData partitionSummary = (CheckPointUserData) data; + partitionSummaries.add(partitionSummary); + jobContext.setTransientUserData(partitionSummaries); + } +} diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportPartitionCollector.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportPartitionCollector.java new file mode 100644 index 00000000000..a50a1fab2ca --- /dev/null +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/ExportPartitionCollector.java @@ -0,0 +1,47 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.bulkexport.system; + +import java.io.Serializable; + +import javax.batch.api.partition.PartitionCollector; +import javax.batch.runtime.BatchStatus; +import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; +import javax.inject.Inject; + +import com.ibm.fhir.bulkexport.common.CheckPointUserData; +import com.ibm.fhir.bulkexport.common.TransientUserData; + +@Dependent +public class ExportPartitionCollector implements PartitionCollector { + @Inject + StepContext stepCtx; + + public ExportPartitionCollector() { + // The injected properties are not available at class construction time + // These values are lazy injected BEFORE calling 'collectPartitionData'. + } + + @Override + public Serializable collectPartitionData() throws Exception { + TransientUserData transientUserData = (TransientUserData)stepCtx.getTransientUserData(); + BatchStatus batchStatus = stepCtx.getBatchStatus(); + + // If the job is being stopped or in other status except for "started", or if there is more page to process, then collect nothing. + if (!batchStatus.equals(BatchStatus.STARTED) + || transientUserData.isMoreToExport() + || transientUserData.getResourceTypeSummary() == null) + { + return null; + } + + CheckPointUserData partitionSummary = CheckPointUserData.fromTransientUserData(transientUserData); + return partitionSummary; + } + +} diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/SystemExportPartitionMapper.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/SystemExportPartitionMapper.java new file mode 100644 index 00000000000..e74f6979581 --- /dev/null +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkexport/system/SystemExportPartitionMapper.java @@ -0,0 +1,62 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.bulkexport.system; + +import java.util.Arrays; +import java.util.List; +import java.util.Properties; +import java.util.stream.Collectors; + +import javax.batch.api.BatchProperty; +import javax.batch.api.partition.PartitionMapper; +import javax.batch.api.partition.PartitionPlan; +import javax.batch.api.partition.PartitionPlanImpl; +import javax.enterprise.context.Dependent; +import javax.inject.Inject; + +import com.ibm.fhir.bulkcommon.Constants; +import com.ibm.fhir.model.util.ModelSupport; + +@Dependent +public class SystemExportPartitionMapper implements PartitionMapper { + + /** + * Fhir ResourceType. + */ + @Inject + @BatchProperty(name = Constants.FHIR_RESOURCETYPES) + String fhirResourceType; + + + public SystemExportPartitionMapper() { + // No Operation + } + + @Override + public PartitionPlan mapPartitions() throws Exception { + List resourceTypes = Arrays.asList(fhirResourceType.split("\\s*,\\s*")); + resourceTypes = resourceTypes.stream().filter(item-> ModelSupport.isResourceType(item)).collect(Collectors.toList()); + if (resourceTypes == null || resourceTypes.isEmpty()) { + throw new Exception("open: None of the input resource types is valid!"); + } + + PartitionPlanImpl pp = new PartitionPlanImpl(); + pp.setPartitions(resourceTypes.size()); + pp.setThreads(Math.min(Constants.IMPORT_MAX_PARTITIONPROCESSING_THREADNUMBER, resourceTypes.size())); + Properties[] partitionProps = new Properties[resourceTypes.size()]; + + int propCount = 0; + for (String resourceType : resourceTypes) { + Properties p = new Properties(); + p.setProperty(Constants.PARTITION_RESOURCE_TYPE, resourceType); + partitionProps[propCount++] = p; + } + pp.setPartitionProperties(partitionProps); + + return pp; + } +} \ No newline at end of file diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ChunkReader.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ChunkReader.java index f4537da6727..f3cd5cd39a4 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ChunkReader.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ChunkReader.java @@ -16,6 +16,7 @@ import javax.batch.api.chunk.AbstractItemReader; import javax.batch.runtime.BatchStatus; import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.cloud.objectstorage.services.s3.AmazonS3; @@ -27,6 +28,7 @@ * Bulk import Chunk implementation - the Reader. * */ +@Dependent public class ChunkReader extends AbstractItemReader { private static final Logger logger = Logger.getLogger(ChunkReader.class.getName()); private AmazonS3 cosClient = null; @@ -95,7 +97,7 @@ public class ChunkReader extends AbstractItemReader { * Fhir resource type to process. */ @Inject - @BatchProperty(name = Constants.IMPORT_PARTITTION_RESOURCE_TYPE) + @BatchProperty(name = Constants.PARTITION_RESOURCE_TYPE) String importPartitionResourceType; public ChunkReader() { diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ChunkWriter.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ChunkWriter.java index 017ad7f9214..6e28021d03e 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ChunkWriter.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ChunkWriter.java @@ -16,6 +16,7 @@ import javax.batch.api.BatchProperty; import javax.batch.api.chunk.AbstractItemWriter; import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.cloud.objectstorage.services.s3.AmazonS3; @@ -39,6 +40,7 @@ * Bulk import Chunk implementation - the Writer. * */ +@Dependent public class ChunkWriter extends AbstractItemWriter { private static final Logger logger = Logger.getLogger(ChunkWriter.class.getName()); AmazonS3 cosClient = null; @@ -106,7 +108,7 @@ public class ChunkWriter extends AbstractItemWriter { * Fhir resource type to process. */ @Inject - @BatchProperty(name = Constants.IMPORT_PARTITTION_RESOURCE_TYPE) + @BatchProperty(name = Constants.PARTITION_RESOURCE_TYPE) String importPartitionResourceType; diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportJobListener.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportJobListener.java index 6780efb4f74..c5a30044681 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportJobListener.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportJobListener.java @@ -20,6 +20,7 @@ import javax.batch.runtime.BatchRuntime; import javax.batch.runtime.JobExecution; import javax.batch.runtime.context.JobContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import javax.json.JsonArray; import javax.json.JsonObject; @@ -28,6 +29,7 @@ import com.ibm.fhir.bulkcommon.BulkDataUtils; import com.ibm.fhir.bulkcommon.Constants; +@Dependent public class ImportJobListener implements JobListener { private static final Logger logger = Logger.getLogger(ImportJobListener.class.getName()); @@ -35,7 +37,7 @@ public class ImportJobListener implements JobListener { @Inject JobContext jobContext; - + @Inject @BatchProperty(name = Constants.IMPORT_FHIR_DATASOURCES) String dataSourcesInfo; @@ -93,7 +95,7 @@ public void afterJob() { } jobContext.setExitStatus(Arrays.toString(resultInExitStatus)); - + for (ImportCheckPointData partitionSummary : partitionSummaries) { ImportCheckPointData partitionSummaryInMap = importedResourceTypeSummaries.get(partitionSummary.getImportPartitionResourceType()); if (partitionSummaryInMap == null) { diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionAnalyzer.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionAnalyzer.java index 8c17b66266a..35d993fc130 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionAnalyzer.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionAnalyzer.java @@ -16,10 +16,12 @@ import javax.batch.api.partition.PartitionAnalyzer; import javax.batch.runtime.BatchStatus; import javax.batch.runtime.context.JobContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.fhir.bulkcommon.Constants; +@Dependent public class ImportPartitionAnalyzer implements PartitionAnalyzer { private static final Logger logger = Logger.getLogger(ImportPartitionAnalyzer.class.getName()); @Inject diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionCollector.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionCollector.java index 039eda0b58b..22354b6438f 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionCollector.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionCollector.java @@ -15,12 +15,14 @@ import javax.batch.api.partition.PartitionCollector; import javax.batch.runtime.BatchStatus; import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import com.ibm.cloud.objectstorage.services.s3.AmazonS3; import com.ibm.fhir.bulkcommon.BulkDataUtils; import com.ibm.fhir.bulkcommon.Constants; +@Dependent public class ImportPartitionCollector implements PartitionCollector { private static final Logger logger = Logger.getLogger(ImportPartitionCollector.class.getName()); AmazonS3 cosClient = null; @@ -71,7 +73,7 @@ public class ImportPartitionCollector implements PartitionCollector { public ImportPartitionCollector() { // The injected properties are not available at class construction time - // These values are lazy injected BEFORE calling 'collectPartitionData'. + // These values are lazy injected BEFORE calling 'collectPartitionData'. } @Override diff --git a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionMapper.java b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionMapper.java index cde984ba60b..70447a4d3de 100644 --- a/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionMapper.java +++ b/fhir-bulkimportexport-webapp/src/main/java/com/ibm/fhir/bulkimport/ImportPartitionMapper.java @@ -16,6 +16,7 @@ import javax.batch.api.partition.PartitionPlan; import javax.batch.api.partition.PartitionPlanImpl; import javax.batch.runtime.context.StepContext; +import javax.enterprise.context.Dependent; import javax.inject.Inject; import javax.json.JsonArray; import javax.json.JsonObject; @@ -28,6 +29,7 @@ import com.ibm.fhir.bulkcommon.BulkDataUtils; import com.ibm.fhir.bulkcommon.Constants; +@Dependent public class ImportPartitionMapper implements PartitionMapper { private static final Logger logger = Logger.getLogger(ImportPartitionMapper.class.getName()); private AmazonS3 cosClient = null; @@ -48,7 +50,7 @@ public class ImportPartitionMapper implements PartitionMapper { *

* https *

- * + * *
        [{
          "type": "Patient",
@@ -61,7 +63,7 @@ public class ImportPartitionMapper implements PartitionMapper {
      * 

* ibm-cos or aws-s3 *

- * + * *
        [{
           "type": "Patient",
@@ -74,7 +76,7 @@ public class ImportPartitionMapper implements PartitionMapper {
      * 

* file *

- * + * *
        [{
           "type": "Patient",
@@ -268,7 +270,7 @@ public PartitionPlan mapPartitions() throws Exception {
         for (FhirDataSource fhirDataSource : fhirDataSources) {
             Properties p = new Properties();
             p.setProperty(Constants.IMPORT_PARTITTION_WORKITEM, fhirDataSource.getUrl());
-            p.setProperty(Constants.IMPORT_PARTITTION_RESOURCE_TYPE, fhirDataSource.getType());
+            p.setProperty(Constants.PARTITION_RESOURCE_TYPE, fhirDataSource.getType());
 
             partitionProps[propCount++] = p;
         }
diff --git a/fhir-config/src/main/java/com/ibm/fhir/config/FHIRConfiguration.java b/fhir-config/src/main/java/com/ibm/fhir/config/FHIRConfiguration.java
index 2a6a9231324..e4b6a88fe49 100644
--- a/fhir-config/src/main/java/com/ibm/fhir/config/FHIRConfiguration.java
+++ b/fhir-config/src/main/java/com/ibm/fhir/config/FHIRConfiguration.java
@@ -100,6 +100,8 @@ public class FHIRConfiguration {
     public static final String PROPERTY_BULKDATA_BATCHJOB_VALID_URLS_DISABLED = "fhirServer/bulkdata/validBaseUrlsDisabled";
     public static final String PROPERTY_BULKDATA_BATCHJOB_MAX_INPUT_PER_TENANT =
             "fhirServer/bulkdata/maxInputPerRequest";
+    public static final String PROPERTY_BULKDATA_BATCHJOB_COSFILEMAXSIZE = "fhirServer/bulkdata/cosFileMaxSize";
+    public static final String PROPERTY_BULKDATA_BATCHJOB_COSFILEMAXRESOURCES = "fhirServer/bulkdata/cosFileMaxResources";
 
     // Custom header names
     public static final String DEFAULT_TENANT_ID_HEADER_NAME = "X-FHIR-TENANT-ID";
diff --git a/fhir-config/src/main/java/com/ibm/fhir/config/FHIRRequestContext.java b/fhir-config/src/main/java/com/ibm/fhir/config/FHIRRequestContext.java
index e7c0846a604..198c88f2166 100644
--- a/fhir-config/src/main/java/com/ibm/fhir/config/FHIRRequestContext.java
+++ b/fhir-config/src/main/java/com/ibm/fhir/config/FHIRRequestContext.java
@@ -75,6 +75,11 @@ public String getTenantId() {
         return tenantId;
     }
 
+    /** 
+     * @deprecated tenantKey should be looked up on-the-fly from the fhir server configuration (e.g. from 
+     *            FHIRDbDAOImpl.getConnection() in fhir-persistence-jdbc)
+     */
+    @Deprecated
     public String getTenantKey() {
         return this.tenantKey;
     }
@@ -93,7 +98,10 @@ public void setTenantId(String tenantId) throws FHIRException {
      * 
      * @param base64
      * @throws FHIRException if the given value is not a valid Base64 string
+     * @deprecated tenantKey should be looked up on-the-fly from the fhir server configuration (e.g. from 
+     *             FHIRDbDAOImpl.getConnection() in fhir-persistence-jdbc)
      */
+    @Deprecated
     public void setTenantKey(String base64) throws FHIRException {
         try {
             Base64.getDecoder().decode(base64);
@@ -218,4 +226,4 @@ public Map> getHttpHeaders() {
     public void setHttpHeaders(Map> httpHeaders) {
         this.httpHeaders = httpHeaders;
     }
-}
\ No newline at end of file
+}
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/DatabaseNotReadyException.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/DatabaseNotReadyException.java
new file mode 100644
index 00000000000..bdb0b778ffb
--- /dev/null
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/DatabaseNotReadyException.java
@@ -0,0 +1,40 @@
+/*
+ * (C) Copyright IBM Corp. 2020
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.ibm.fhir.database.utils.api;
+
+/**
+ * DatabaseNotReadyException
+ */
+public class DatabaseNotReadyException extends DataAccessException {
+    // All exceptions are serializable
+    private static final long serialVersionUID = -3385694603070015558L;
+
+    /**
+     * Public constructor
+     * @param x
+     */
+    public DatabaseNotReadyException(Exception x) {
+        super(x);
+    }
+
+    /**
+     * Public constructor
+     * @param msg
+     * @param t
+     */
+    public DatabaseNotReadyException(String msg, Throwable t) {
+        super(msg, t);
+    }
+
+    /**
+     * Public constructor
+     * @param t
+     */
+    public DatabaseNotReadyException(Throwable t) {
+        super(t);
+    }
+}
\ No newline at end of file
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/DuplicateSchemaException.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/DuplicateSchemaException.java
new file mode 100644
index 00000000000..29aa366a83a
--- /dev/null
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/DuplicateSchemaException.java
@@ -0,0 +1,23 @@
+/*
+ * (C) Copyright IBM Corp. 2019, 2020
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.ibm.fhir.database.utils.api;
+
+/**
+ * Translation of a duplicate schema to an exception
+ */
+public class DuplicateSchemaException extends DataAccessException {
+    // Generated serial number
+    private static final long serialVersionUID = -2753101341101219540L;
+
+    public DuplicateSchemaException(Throwable t) {
+        super(t);
+    }
+
+    public DuplicateSchemaException(String msg, Throwable t) {
+        super(msg, t);
+    }
+}
\ No newline at end of file
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IConnectionProvider.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IConnectionProvider.java
index caffdae9ea1..3cb5bb9dc5d 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IConnectionProvider.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IConnectionProvider.java
@@ -22,7 +22,6 @@
  * 
  */
 public interface IConnectionProvider {
-
     /**
      * Obtain a new connection to a data-source which this provider has
      * been configured for.
@@ -57,4 +56,11 @@ public interface IConnectionProvider {
      * @param key
      */
     public void describe(String prefix, StringBuilder cfg, String key);
-}
+
+    /**
+     * used to control threading size.
+     */
+    public default int getPoolSize() {
+        return -1;
+    }
+}
\ No newline at end of file
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IDatabaseAdapter.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IDatabaseAdapter.java
index e0e5201924c..2b5cf126c6b 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IDatabaseAdapter.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IDatabaseAdapter.java
@@ -24,7 +24,6 @@
  * procedures.
  */
 public interface IDatabaseAdapter {
-
     /**
      * Get the {@link IDatabaseTranslator} associated with this adapter
      *
@@ -118,7 +117,7 @@ public void createTable(String schemaName, String name, String tenantColumnName,
      * @param procedureName
      * @param supplier
      */
-    public void createOrReplaceProcedureAndFunctions(String schemaName, String procedureName, Supplier supplier);
+    public void createOrReplaceProcedure(String schemaName, String procedureName, Supplier supplier);
 
     /**
      * Drop the given procedure
@@ -245,12 +244,13 @@ public void createIndex(String schemaName, String tableName, String indexName, S
      * @param name
      * @param targetSchema
      * @param targetTable
+     * @param targetColumnName
      * @param tenantColumnName
      * @param columns
      * @param enforced
      */
     public void createForeignKeyConstraint(String constraintName, String schemaName, String name, String targetSchema,
-            String targetTable, String tenantColumnName, List columns, boolean enforced);
+            String targetTable, String targetColumnName, String tenantColumnName, List columns, boolean enforced);
 
     /**
      * Allocate a new tenant
@@ -332,8 +332,7 @@ public void removeTenantPartitions(Collection tables, String schemaName,
      * @param privileges
      * @param toUser
      */
-    public void grantObjectPrivileges(String schemaName, String tableName, Collection privileges,
-            String toUser);
+    public void grantObjectPrivileges(String schemaName, String tableName, Collection privileges, String toUser);
 
     /**
      * Grant the collection of privileges on the named procedure to the user
@@ -401,4 +400,53 @@ public void grantSequencePrivileges(String schemaName, String objectName, Collec
      * @param schemaName
      */
     public void createSchema(String schemaName);
-}
+
+    /**
+     * create a unique constraint on a table.
+     * 
+     * @param constraintName
+     * @param columns
+     * @param schemaName
+     * @param name
+     */
+    public void createUniqueConstraint(String constraintName, List columns, String schemaName, String name);
+
+    /**
+     * checks connectivity to the database and that it is compatible
+     * @param adminSchema
+     * @return
+     */
+    public boolean checkCompatibility(String adminSchema);
+
+    /**
+     * 
+     * @return a false, if not used, or true if used with the persistence layer.
+     */
+    public default boolean useSessionVariable() {
+        return false;
+    }
+
+    /**
+     * creates or replaces the SQL function
+     * @param schemaName
+     * @param objectName
+     * @param supplier
+     */
+    public void createOrReplaceFunction(String schemaName, String objectName, Supplier supplier);
+
+    /**
+     * drops a given function 
+     * @param schemaName
+     * @param functionName
+     */
+    public void dropFunction(String schemaName, String functionName);
+
+    /** 
+     * grants permissions on a given function
+     * @param schemaName
+     * @param functionName
+     * @param privileges
+     * @param toUser
+     */
+    public void grantFunctionPrivileges(String schemaName, String functionName, Collection privileges, String toUser);
+}
\ No newline at end of file
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/UniqueConstraintViolationException.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/UniqueConstraintViolationException.java
index 5959ee33f1c..8d5602a53a1 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/UniqueConstraintViolationException.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/UniqueConstraintViolationException.java
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright IBM Corp. 2019
+ * (C) Copyright IBM Corp. 2019, 2020
  *
  * SPDX-License-Identifier: Apache-2.0
  */
@@ -10,7 +10,6 @@
  * Translation of a duplicate key or value constraint SQLException.
  */
 public class UniqueConstraintViolationException extends DataAccessException {
-
     // Generated serial number
     private static final long serialVersionUID = -2753101534110619540L;
 
@@ -21,4 +20,4 @@ public UniqueConstraintViolationException(Throwable t) {
     public UniqueConstraintViolationException(String msg, Throwable t) {
         super(msg, t);
     }
-}
+}
\ No newline at end of file
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/AddColumn.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/AddColumn.java
index 287d545e4c2..f370849865e 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/AddColumn.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/AddColumn.java
@@ -9,6 +9,7 @@
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.Statement;
+import java.util.Objects;
 
 import com.ibm.fhir.database.utils.api.IDatabaseStatement;
 import com.ibm.fhir.database.utils.api.IDatabaseTranslator;
@@ -78,10 +79,14 @@ private String columnDef(ColumnBase column, IDatabaseTypeAdapter dbTypeAdapter)
             throw new UnsupportedOperationException("Adding columns of type " + column.getClass().getSimpleName() +
                     " is not supported at this time.");
         }
+
+        if (!Objects.isNull(column.getDefaultVal()) && !column.getDefaultVal().isEmpty()) {
+            result.append(" DEFAULT ").append(column.getDefaultVal());
+        }
+
         if (!column.isNullable()) {
             result.append(" NOT NULL");
         }
-
         return result.toString();
     }
 
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/CommonDatabaseAdapter.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/CommonDatabaseAdapter.java
index b8a67f4929f..c3a44afb513 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/CommonDatabaseAdapter.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/CommonDatabaseAdapter.java
@@ -12,11 +12,12 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import java.util.Objects;
+import java.util.function.Supplier;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import com.ibm.fhir.database.utils.api.DuplicateNameException;
 import com.ibm.fhir.database.utils.api.IConnectionProvider;
 import com.ibm.fhir.database.utils.api.IDatabaseAdapter;
 import com.ibm.fhir.database.utils.api.IDatabaseStatement;
@@ -54,7 +55,6 @@ public abstract class CommonDatabaseAdapter implements IDatabaseAdapter, IDataba
     // The translator used to to tweak the syntax for the database
     private final IDatabaseTranslator translator;
 
-
     /**
      * Protected constructor
      * @param tgt database targeted
@@ -104,15 +104,20 @@ protected String buildColumns(List columns, IdentityDef identity) {
             result.append(column.getName());
             result.append(" ");
             result.append(column.getTypeInfo(this));
+
             if (identity != null && column.getName().equals(identity.getColumnName())) {
                 result.append(" GENERATED " + identity.getGenerated() + " AS IDENTITY");
             } // AS IDENTITY implies NOT NULL so this can be and else if
             else if (!column.isNullable()) {
                 result.append(" NOT NULL");
             }
-        }
-
 
+            // Outputs the default value
+            if (column.getDefaultVal() != null) {
+                result.append(" DEFAULT ");
+                result.append(column.getDefaultVal());
+            }
+        }
         return result.toString();
     }
 
@@ -213,13 +218,10 @@ protected void runStatement(final String ddl) {
         if (this.connectionProvider != null) {
             try (Connection c = connectionProvider.getConnection()) {
                 runStatement(c, ddl);
-            }
-            catch (SQLException x) {
+            } catch (SQLException x) {
                 throw translator.translate(x);
             }
-
-        }
-        else {
+        } else {
             target.runStatement(this.translator, ddl);
         }
     }
@@ -231,7 +233,6 @@ protected void runStatement(final String ddl) {
      * @throws SQLException
      */
     private void runStatement(Connection c, final String ddl) throws SQLException {
-
         if (logger.isLoggable(Level.FINE)) {
             System.out.println(ddl);
         }
@@ -261,11 +262,33 @@ public void dropTable(String schemaName, String tableName) {
 
         try {
             runStatement(ddl);
-        }
-        catch (UndefinedNameException x) {
+        } catch (UndefinedNameException x) {
             logger.warning(ddl + "; TABLE not found");
         }
+    }
+
+    @Override
+    public void dropProcedure(String schemaName, String procedureName) {
+        final String nm = getQualifiedName(schemaName, procedureName);
+        final String ddl = "DROP PROCEDURE " + nm;
+
+        try {
+            runStatement(ddl);
+        } catch (UndefinedNameException x) {
+            logger.warning(ddl + "; PROCEDURE not found");
+        }
+    }
 
+    @Override
+    public void dropFunction(String schemaName, String functionName) {
+        final String nm = getQualifiedName(schemaName, functionName);
+        final String ddl = "DROP FUNCTION " + nm;
+
+        try {
+            runStatement(ddl);
+        } catch (UndefinedNameException x) {
+            logger.warning(ddl + "; PROCEDURE not found");
+        }
     }
 
     @Override
@@ -295,9 +318,8 @@ public void dropVariable(String schemaName, String variableName) {
     }
 
     @Override
-    public void createForeignKeyConstraint(String constraintName, String schemaName, String name,
-            String targetSchema, String targetTable, String tenantColumnName,
-            List columns, boolean enforced) {
+    public void createForeignKeyConstraint(String constraintName, String schemaName, String name, String targetSchema,
+        String targetTable, String targetColumnName, String tenantColumnName, List columns, boolean enforced) {
 
         String tableName = DataDefinitionUtil.getQualifiedName(schemaName, name);
         String targetName = DataDefinitionUtil.getQualifiedName(targetSchema, targetTable);
@@ -318,6 +340,12 @@ public void createForeignKeyConstraint(String constraintName, String schemaName,
         ddl.append(DataDefinitionUtil.join(cols));
         ddl.append(") REFERENCES ");
         ddl.append(targetName);
+        if (!Objects.isNull(targetColumnName) && !targetColumnName.isEmpty()) {
+            ddl.append(' ')
+                .append('(')
+                .append(targetColumnName)
+                .append(')');
+        }
         if (!enforced) {
             ddl.append(" NOT ENFORCED");
         }
@@ -325,13 +353,33 @@ public void createForeignKeyConstraint(String constraintName, String schemaName,
         try {
             // it seems that these statements are vulnerable to deadlocks in the DB2 dictionary
             runStatement(ddl.toString());
-        }
-        catch (Exception x) {
+        } catch (Exception x) {
             logger.warning("Statement failed (" + x.getMessage() + ") " + ddl.toString());
             throw x;
         }
     }
 
+    @Override
+    public void createUniqueConstraint(String constraintName, List columns, String schemaName, String name) {
+        String tableName = DataDefinitionUtil.getQualifiedName(schemaName, name);
+
+        StringBuilder ddl = new StringBuilder();
+        ddl.append("ALTER TABLE ");
+        ddl.append(tableName);
+        ddl.append(" ADD CONSTRAINT ");
+        ddl.append(constraintName);
+        ddl.append(" UNIQUE (");
+        ddl.append(DataDefinitionUtil.join(columns));
+        ddl.append(")");
+
+        try {
+            runStatement(ddl.toString());
+        } catch (Exception x) {
+            logger.warning("Statement failed [" + x.getMessage() + "] [" + ddl.toString() + "]");
+            throw x;
+        }
+    }
+
     @Override
     public int allocateTenant(String adminSchemaName, String schemaName, String tenantName, String tenantKey, String tenantSalt, String idSequenceName) {
         // Need a mutable integer
@@ -409,15 +457,49 @@ public  T runStatement(IDatabaseSupplier supplier) {
         if (this.connectionProvider != null) {
             try (Connection c = connectionProvider.getConnection()) {
                 return supplier.run(getTranslator(), c);
-            }
-            catch (SQLException x) {
+            } catch (SQLException x) {
                 throw translator.translate(x);
             }
-        }
-        else {
+        } else {
             return this.target.runStatement(getTranslator(), supplier);
         }
+    }
+
+    @Override
+    public void createOrReplaceProcedure(String schemaName, String procedureName, Supplier supplier) {
+        final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, procedureName);
+        logger.info("Create or replace procedure " + objectName);
+
+        final StringBuilder ddl = new StringBuilder()
+                .append("CREATE OR REPLACE PROCEDURE ")
+                .append(objectName)
+                .append(System.lineSeparator())
+                .append(supplier.get());
+
+        final String ddlString = ddl.toString();
+        if (logger.isLoggable(Level.FINE)) {
+            logger.fine(ddlString);
+        }
 
+        runStatement(ddlString);
+    }
+
+    @Override
+    public void createOrReplaceFunction(String schemaName, String functionName, Supplier supplier) {
+        final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, functionName);
+        logger.info("Create or replace procedure " + objectName);
+
+        final StringBuilder ddl = new StringBuilder()
+                .append("CREATE OR REPLACE FUNCTION ")
+                .append(objectName)
+                .append(System.lineSeparator())
+                .append(supplier.get());
+
+        final String ddlString = ddl.toString();
+        if (logger.isLoggable(Level.FINE)) {
+            logger.fine(ddlString);
+        }
+        runStatement(ddlString);
     }
 
     @Override
@@ -433,7 +515,6 @@ public void createSequence(String schemaName, String sequenceName, int cache) {
         final String sname = DataDefinitionUtil.getQualifiedName(schemaName, sequenceName);
         final String ddl = "CREATE SEQUENCE " + sname + " AS BIGINT START WITH 20000 CACHE " + cache + " NO CYCLE";
         runStatement(ddl);
-
     }
 
     @Override
@@ -480,11 +561,21 @@ public void grantObjectPrivileges(String schemaName, String tableName, Collectio
     public void grantProcedurePrivileges(String schemaName, String procedureName, Collection privileges, String toUser) {
         final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, procedureName);
         DataDefinitionUtil.assertValidName(toUser);
+
         final String privs = privilegeString(privileges);
         final String grant = "GRANT " + privs + " ON PROCEDURE " + objectName + " TO " + toUser;
-
         logger.info("Applying: " + grant); // Grants are very useful to see logged
+        runStatement(grant);
+    }
 
+    @Override
+    public void grantFunctionPrivileges(String schemaName, String functionName, Collection privileges, String toUser) {
+        final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, functionName);
+        DataDefinitionUtil.assertValidName(toUser);
+
+        final String privs = privilegeString(privileges);
+        final String grant = "GRANT " + privs + " ON FUNCTION " + objectName + " TO " + toUser;
+        logger.info("Applying: " + grant); // Grants are very useful to see logged
         runStatement(grant);
     }
 
@@ -509,14 +600,4 @@ public void grantSequencePrivileges(String schemaName, String variableName, Coll
         logger.info("Applying: " + grant); // Grants are very useful to see logged
         runStatement(grant);
     }
-
-    @Override
-    public void createSchema(String schemaName) {
-        try {
-            String ddl = "CREATE SCHEMA " + schemaName;
-            runStatement(ddl);
-        } catch (DuplicateNameException e) {
-            logger.log(Level.WARNING, "The schema '" + schemaName + "' already exists; proceed with caution.");
-        }
-    }
-}
+}
\ No newline at end of file
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2Adapter.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2Adapter.java
index 67be18e9f11..0d9421ad457 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2Adapter.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2Adapter.java
@@ -20,6 +20,8 @@
 import java.util.logging.Logger;
 
 import com.ibm.fhir.database.utils.api.DataAccessException;
+import com.ibm.fhir.database.utils.api.DuplicateNameException;
+import com.ibm.fhir.database.utils.api.DuplicateSchemaException;
 import com.ibm.fhir.database.utils.api.IConnectionProvider;
 import com.ibm.fhir.database.utils.api.IDatabaseStatement;
 import com.ibm.fhir.database.utils.api.IDatabaseTarget;
@@ -161,7 +163,12 @@ public void createTenantPartitions(Collection
tables, String schemaName, } // Thread pool for parallelizing requests - final ExecutorService pool = Executors.newFixedThreadPool(40); + int poolSize = connectionProvider.getPoolSize(); + if (poolSize == -1) { + // Default Value - 40 + poolSize = 40; + } + final ExecutorService pool = Executors.newFixedThreadPool(poolSize); final AtomicInteger taskCount = new AtomicInteger(); for (Table t: tables) { @@ -171,21 +178,17 @@ public void createTenantPartitions(Collection
tables, String schemaName, // We should only be dealing with partitioned tables at this stage, so this // is a fatal error throw new DataAccessException("No partition information found for table: " + qualifiedName); - } - else { + } else { // Submit to the pool for processing taskCount.incrementAndGet(); pool.submit(new Runnable() { - @Override public void run() { try { createTenantPartitionsThr(t, pi, newTenantId, tablespaceName); - } - catch (Throwable x) { + } catch (Throwable x) { logger.log(Level.SEVERE, "tenant creation failed: " + t.getName(), x); - } - finally { + } finally { taskCount.decrementAndGet(); } } @@ -200,8 +203,7 @@ public void run() { logger.info("Waiting for partitioning tasks to complete: " + taskCount.get()); pool.awaitTermination(5000, TimeUnit.MILLISECONDS); } - } - catch (InterruptedException x) { + } catch (InterruptedException x) { // Not cool. This means that only some of the tables will have the partition assigned throw new DataAccessException("Tenant partition creation did not complete"); } @@ -218,7 +220,6 @@ public void run() { * @param tablespaceName */ public void createTenantPartitionsThr(Table t, PartitionInfo pi, int newTenantId, String tablespaceName) { - // Each thread needs to manage its own transaction try (ITransaction tx = TransactionFactory.openTransaction(connectionProvider)) { try { @@ -230,8 +231,7 @@ public void createTenantPartitionsThr(Table t, PartitionInfo pi, int newTenantId Db2AddTablePartition cmd = new Db2AddTablePartition(t.getSchemaName(), t.getObjectName(), newTenantId, tablespaceName); runStatement(cmd); logger.info("Added tenant partition: TENANT" + newTenantId + " to " + t.getName()); - } - catch (RuntimeException x) { + } catch (RuntimeException x) { logger.severe("Rolling back transaction after tenant creation failed for table " + t.getName()); tx.setRollbackOnly(); throw x; @@ -307,7 +307,7 @@ public void dropType(String schemaName, String typeName) { } @Override - public void createOrReplaceProcedureAndFunctions(String schemaName, String procedureName, Supplier supplier) { + public void createOrReplaceProcedure(String schemaName, String procedureName, Supplier supplier) { final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, procedureName); logger.info("Create or replace procedure " + objectName); @@ -427,6 +427,7 @@ public String varcharClause(int size) { return "VARCHAR(" + size + " OCTETS)"; } + @Override public boolean checkCompatibility(String adminSchema) { // As long as we don't get an exception, we should be considered compatible Db2CheckCompatibility checker = new Db2CheckCompatibility(adminSchema); @@ -450,4 +451,20 @@ public void runStatement(IDatabaseStatement stmt) { super.runStatement(runstats); } } -} + + @Override + public void createSchema(String schemaName){ + try { + String ddl = "CREATE SCHEMA " + schemaName; + runStatement(ddl); + logger.log(Level.INFO, "The schema '" + schemaName + "' is created"); + } catch (DuplicateNameException | DuplicateSchemaException e) { + logger.log(Level.WARNING, "The schema '" + schemaName + "' already exists; proceed with caution."); + } + } + + @Override + public boolean useSessionVariable() { + return true; + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2CheckCompatibility.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2CheckCompatibility.java index 10179aab2e0..7aa989e498f 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2CheckCompatibility.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2CheckCompatibility.java @@ -1,5 +1,5 @@ /* - * (C) Copyright IBM Corp. 2019 + * (C) Copyright IBM Corp. 2019, 2020 * * SPDX-License-Identifier: Apache-2.0 */ @@ -9,6 +9,7 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; +import java.sql.Timestamp; import java.sql.Types; import java.time.Instant; @@ -21,9 +22,8 @@ * Checks Compatibility with the DB2 Implementation that is used. */ public class Db2CheckCompatibility implements IDatabaseStatement { - private final String adminSchema; - + /** * Public constructor * @param adminSchema @@ -44,11 +44,10 @@ public void run(IDatabaseTranslator translator, Connection c) { // JDBC-4.2 supports direct use of java.time (THANK YOU!) // Unfortunately as of Data Server Driver Package v11.1.3.3, // this still doesn't work for DB2 - ps.setObject(1, Instant.now(), Types.TIMESTAMP); + ps.setObject(1, Timestamp.from(Instant.now()), Types.TIMESTAMP); ps.executeQuery(); - } - catch (SQLException x) { + } catch (SQLException x) { throw translator.translate(x); } } -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2Translator.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2Translator.java index 36de3acba3e..d9c3cd5c12e 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2Translator.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/db2/Db2Translator.java @@ -15,6 +15,7 @@ import com.ibm.fhir.database.utils.api.ConnectionDetails; import com.ibm.fhir.database.utils.api.ConnectionException; import com.ibm.fhir.database.utils.api.DataAccessException; +import com.ibm.fhir.database.utils.api.DatabaseNotReadyException; import com.ibm.fhir.database.utils.api.DuplicateNameException; import com.ibm.fhir.database.utils.api.IDatabaseTranslator; import com.ibm.fhir.database.utils.api.LockException; @@ -106,10 +107,26 @@ public DataAccessException translate(SQLException x) { return new DuplicateNameException(x); } else if (isUndefinedName(x)) { return new UndefinedNameException(x); + } else if(isDatabaseNotReady(x)) { + return new DatabaseNotReadyException(x); } else { return new DataAccessException(x); } } + + /* + * This is specific to Db2 when the database is not yet up and ready. + * For instance, when it's offline, but the connection/port is active. + * Or in the automation world, it's still being created. + */ + public boolean isDatabaseNotReady(SQLException x) { + //SQLCODE=-1035, SQLSTATE=57019 + String sqlState = x.getSQLState(); + Integer sqlCode = x.getErrorCode(); + return sqlState != null && sqlState.equals("57019") + && sqlCode != null && sqlCode == -1035; + } + /* * This is specific to Db2 schema's multi-tenant feature. */ diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/derby/DerbyAdapter.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/derby/DerbyAdapter.java index 22c10261698..f9e67a7a64a 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/derby/DerbyAdapter.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/derby/DerbyAdapter.java @@ -14,6 +14,8 @@ import java.util.logging.Level; import java.util.logging.Logger; +import com.ibm.fhir.database.utils.api.DuplicateNameException; +import com.ibm.fhir.database.utils.api.DuplicateSchemaException; import com.ibm.fhir.database.utils.api.IConnectionProvider; import com.ibm.fhir.database.utils.api.IDatabaseStatement; import com.ibm.fhir.database.utils.api.IDatabaseTarget; @@ -41,7 +43,6 @@ private enum MessageKey { // Just warn once for each unique message key. This cleans up build logs a lot private static final Set warned = ConcurrentHashMap.newKeySet(); - /** * Public constructor * @param tgt the target database we want to manage @@ -72,16 +73,13 @@ public void warnOnce(MessageKey messageKey, String msg) { @Override public void createTable(String schemaName, String name, String tenantColumnName, List columns, PrimaryKeyDef primaryKey, IdentityDef identity, String tablespaceName) { - // Derby doesn't support partitioning, so we ignore tenantColumnName if (tenantColumnName != null) { - warnOnce(MessageKey.MULTITENANCY, "Derby does support not multi-tenancy: " + name); + warnOnce(MessageKey.MULTITENANCY, "Derby does not support multi-tenancy on: [" + name + "]"); } // We also ignore tablespace for Derby String ddl = buildCreateTableStatement(schemaName, name, columns, primaryKey, identity, null); - - runStatement(ddl); } @@ -142,7 +140,7 @@ public void dropType(String schemaName, String typeName) { } @Override - public void createOrReplaceProcedureAndFunctions(String schemaName, String procedureName, Supplier supplier) { + public void createOrReplaceProcedure(String schemaName, String procedureName, Supplier supplier) { warnOnce(MessageKey.CREATE_PROC, "Create procedure not supported in Derby"); } @@ -153,12 +151,17 @@ public void dropProcedure(String schemaName, String procedureName) { @Override public void createTablespace(String tablespaceName) { - warnOnce(MessageKey.TABLESPACE, "Create tablespace not supported in Derby"); + logger.fine("Create tablespace not supported in Derby"); + } + + @Override + public void createTablespace(String tablespaceName, int extentSizeKB) { + logger.fine("Create tablespace not supported in Derby"); } @Override public void dropTablespace(String tablespaceName) { - warnOnce(MessageKey.TABLESPACE, "Drop tablespace not supported in Derby"); + logger.fine("Drop tablespace not supported in Derby"); } @Override @@ -172,11 +175,6 @@ public void removeTenantPartitions(Collection
tables, String schemaName, warnOnce(MessageKey.PARTITIONING, "Remove tenant partitions not supported in Derby"); } - @Override - public void createTablespace(String tablespaceName, int extentSizeKB) { - warnOnce(MessageKey.TABLESPACE, "Create tablespace not supported in Derby"); - } - @Override public boolean doesTableExist(String schemaName, String tableName) { DerbyDoesTableExist dao = new DerbyDoesTableExist(schemaName, tableName); @@ -223,14 +221,12 @@ public String timestampClause(Integer precision) { } @Override - public void createForeignKeyConstraint(String constraintName, String schemaName, String name, - String targetSchema, String targetTable, String tenantColumnName, - List columns, boolean enforced) { - + public void createForeignKeyConstraint(String constraintName, String schemaName, String name, String targetSchema, + String targetTable, String targetColumnName, String tenantColumnName, List columns, boolean enforced) { // If enforced=false, skip the constraint because Derby doesn't support unenforced constraints if (enforced) { // Make the call, but without the tenantColumnName because Derby doesn't support our multi-tenant implementation - super.createForeignKeyConstraint(constraintName, schemaName, name, targetSchema, targetTable, null, columns, true); + super.createForeignKeyConstraint(constraintName, schemaName, name, targetSchema, targetTable, targetColumnName, null, columns, true); } } @@ -247,11 +243,29 @@ public void runStatement(IDatabaseStatement stmt) { AddForeignKeyConstraint afk = (AddForeignKeyConstraint) stmt; for (ForeignKeyConstraint constraint : afk.getConstraints()) { createForeignKeyConstraint(constraint.getConstraintName(), afk.getSchemaName(), afk.getTableName(), - constraint.getTargetSchema(), constraint.getTargetTable(), + constraint.getTargetSchema(), constraint.getTargetTable(), constraint.getTargetColumnName(), afk.getTenantColumnName(), constraint.getColumns(), constraint.isEnforced()); } } else { super.runStatement(stmt); } } -} + + @Override + public boolean checkCompatibility(String adminSchema) { + String stmt = "VALUES 1"; + super.runStatement(stmt); + return true; + } + + @Override + public void createSchema(String schemaName){ + try { + String ddl = "CREATE SCHEMA " + schemaName; + runStatement(ddl); + logger.log(Level.INFO, "The schema '" + schemaName + "' is created"); + } catch (DuplicateNameException | DuplicateSchemaException e) { + logger.log(Level.WARNING, "The schema '" + schemaName + "' already exists; proceed with caution."); + } + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/AddColumn.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/AddColumn.java deleted file mode 100644 index 4d48fc6fa5d..00000000000 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/AddColumn.java +++ /dev/null @@ -1,14 +0,0 @@ -/* - * (C) Copyright IBM Corp. 2019 - * - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.ibm.fhir.database.utils.model; - -/** - * Add Column - */ -public class AddColumn { - -} diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/BaseObject.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/BaseObject.java index e50ed00f15a..ae44d8d2820 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/BaseObject.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/BaseObject.java @@ -187,7 +187,7 @@ public String toString() { public ITaskGroup collect(final ITaskCollector tc, final IDatabaseAdapter target, final ITransactionProvider tp, final IVersionHistoryService vhs) { // Make sure that anything we depend on gets processed first List children = null; - if (this.dependencies.size() > 0) { + if (!this.dependencies.isEmpty()) { children = new ArrayList<>(this.dependencies.size()); for (IDatabaseObject obj: dependencies) { children.add(obj.collect(tc, target, tp, vhs)); diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ClobColumn.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ClobColumn.java index 2822e51bfdd..a65c30fd087 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ClobColumn.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ClobColumn.java @@ -24,4 +24,4 @@ public ClobColumn(String name, boolean nullable, String defaultVal) { public String getTypeInfo(IDatabaseTypeAdapter adapter) { return adapter.clobClause(); } -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnBase.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnBase.java index eb1ad3e15be..a512023d753 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnBase.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnBase.java @@ -12,7 +12,6 @@ * An immutable definition of a column in a table */ public abstract class ColumnBase { - // Name of the column private final String name; @@ -20,7 +19,7 @@ public abstract class ColumnBase { private final boolean nullable; // The default value for the column (usually null) - private final String defaultVal; + private String defaultVal; /** * Protected constructor - for use by subclasses @@ -45,6 +44,13 @@ protected ColumnBase(String name, boolean nullable, String defaultVal) { this.defaultVal = defaultVal; } + /** + * resets the default value. + */ + public void resetDefaultValue() { + this.defaultVal = null; + } + /** * Getter for the name * @return @@ -85,5 +91,4 @@ public String getDefaultVal() { public String getTypeDef(IDatabaseTypeAdapter adapter) { return this.name + " " + getTypeInfo(adapter); } - -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnDef.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnDef.java index c35298e837d..51d5dce14e7 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnDef.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnDef.java @@ -58,7 +58,9 @@ public String getDefaultVal() { return defaultVal; } /** - * @implNote Currently only works for CLOB columns + * @param defaultVal this value is NOT auto-quoted, you must pass the single-quote (') within the string value for literal strings + * @implNote the reason the defaultVal SQL string literal value must be explicitly quoted is because PostgreSQL + * doesn't allow numeric literals to be quoted */ public void setDefaultVal(String defaultVal) { this.defaultVal = defaultVal; @@ -74,17 +76,11 @@ public boolean equals(Object other) { if (other instanceof ColumnDef) { ColumnDef that = (ColumnDef)other; return this.name.equals(that.name); - } - else { + } else { return false; } } - @Override - public int hashCode() { - return this.name.hashCode(); - } - public int getInlineSize() { return inlineSize; } @@ -92,4 +88,9 @@ public int getInlineSize() { public void setInlineSize(int inlineSize) { this.inlineSize = inlineSize; } -} + + @Override + public int hashCode() { + return this.name.hashCode(); + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnDefBuilder.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnDefBuilder.java index 738ecbc8a96..99e66b22020 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnDefBuilder.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnDefBuilder.java @@ -16,28 +16,42 @@ * Builder pattern to make it easy to add column definitions to an object (e.g. table, type etc) */ public class ColumnDefBuilder { - // LinkedHashSet so we can remember order protected LinkedHashSet columns = new LinkedHashSet<>(); - public ColumnDefBuilder addIntColumn(String columnName, boolean nullable) { - ColumnDef cd = new ColumnDef(columnName); + public void checkColumnAlreadyExists(ColumnDef cd, String columnName) { if (columns.contains(cd)) { throw new IllegalArgumentException("Duplicate column: " + columnName); } + } + public ColumnDefBuilder addIntColumn(String columnName, boolean nullable) { + ColumnDef cd = new ColumnDef(columnName); + checkColumnAlreadyExists(cd, columnName); cd.setNullable(nullable); cd.setColumnType(ColumnType.INT); columns.add(cd); return this; } - public ColumnDefBuilder addBigIntColumn(String columnName, boolean nullable) { + public ColumnDefBuilder addSmallIntColumn(String columnName, Integer defaultValue, boolean nullable) { ColumnDef cd = new ColumnDef(columnName); - if (columns.contains(cd)) { - throw new IllegalArgumentException("Duplicate column: " + columnName); + checkColumnAlreadyExists(cd, columnName); + cd.setNullable(nullable); + + if (defaultValue != null) { + cd.setDefaultVal(Integer.toString(defaultValue)); } + cd.setColumnType(ColumnType.SMALLINT); + columns.add(cd); + return this; + } + + public ColumnDefBuilder addBigIntColumn(String columnName, boolean nullable) { + ColumnDef cd = new ColumnDef(columnName); + checkColumnAlreadyExists(cd, columnName); + cd.setNullable(nullable); cd.setColumnType(ColumnType.BIGINT); columns.add(cd); @@ -46,9 +60,7 @@ public ColumnDefBuilder addBigIntColumn(String columnName, boolean nullable) { public ColumnDefBuilder addDoubleColumn(String columnName, boolean nullable) { ColumnDef cd = new ColumnDef(columnName); - if (columns.contains(cd)) { - throw new IllegalArgumentException("Duplicate column: " + columnName); - } + checkColumnAlreadyExists(cd, columnName); cd.setNullable(nullable); cd.setColumnType(ColumnType.DOUBLE); @@ -58,9 +70,7 @@ public ColumnDefBuilder addDoubleColumn(String columnName, boolean nullable) { public ColumnDefBuilder addTimestampColumn(String columnName, boolean nullable) { ColumnDef cd = new ColumnDef(columnName); - if (columns.contains(cd)) { - throw new IllegalArgumentException("Duplicate column: " + columnName); - } + checkColumnAlreadyExists(cd, columnName); cd.setNullable(nullable); cd.setColumnType(ColumnType.TIMESTAMP); @@ -70,9 +80,7 @@ public ColumnDefBuilder addTimestampColumn(String columnName, boolean nullable) public ColumnDefBuilder addVarcharColumn(String columnName, int size, boolean nullable) { ColumnDef cd = new ColumnDef(columnName); - if (columns.contains(cd)) { - throw new IllegalArgumentException("Duplicate column: " + columnName); - } + checkColumnAlreadyExists(cd, columnName); cd.setNullable(nullable); cd.setColumnType(ColumnType.VARCHAR); @@ -90,9 +98,7 @@ public ColumnDefBuilder addVarcharColumn(String columnName, int size, boolean nu */ public ColumnDefBuilder addCharColumn(String columnName, int size, boolean nullable) { ColumnDef cd = new ColumnDef(columnName); - if (columns.contains(cd)) { - throw new IllegalArgumentException("Duplicate column: " + columnName); - } + checkColumnAlreadyExists(cd, columnName); cd.setNullable(nullable); cd.setColumnType(ColumnType.CHAR); @@ -103,9 +109,7 @@ public ColumnDefBuilder addCharColumn(String columnName, int size, boolean nulla public ColumnDefBuilder addBlobColumn(String columnName, long size, int inlineSize, boolean nullable) { ColumnDef cd = new ColumnDef(columnName); - if (columns.contains(cd)) { - throw new IllegalArgumentException("Duplicate column: " + columnName); - } + checkColumnAlreadyExists(cd, columnName); cd.setNullable(nullable); cd.setColumnType(ColumnType.BLOB); @@ -152,6 +156,9 @@ public List buildColumns() { case INT: column = new IntColumn(cd.getName(), cd.isNullable()); break; + case SMALLINT: + column = new SmallIntColumn(cd.getName(), cd.isNullable(), cd.getDefaultVal()); + break; case DOUBLE: column = new DoubleColumn(cd.getName(), cd.isNullable()); break; @@ -181,7 +188,6 @@ public List buildColumns() { } result.add(column); } - return result; } -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnType.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnType.java index 6f155f5d79a..4a74fb17ecc 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnType.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ColumnType.java @@ -19,5 +19,6 @@ public enum ColumnType { DOUBLE, TIMESTAMP, BLOB, - CLOB + CLOB, + SMALLINT } diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ForeignKeyConstraint.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ForeignKeyConstraint.java index 689c1b47c31..374b4120250 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ForeignKeyConstraint.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ForeignKeyConstraint.java @@ -19,26 +19,55 @@ */ public class ForeignKeyConstraint extends Constraint { private final boolean enforced; + private boolean self = false; private final String targetSchema; private final String targetTable; + private final String targetColumnName; private final List columns = new ArrayList<>(); /** * @param constraintName * @param enforced + * @param self * @param targetSchema * @param targetTable + * @param targetColumName * @param column */ - public ForeignKeyConstraint(String constraintName, boolean enforced, String targetSchema, String targetTable, - String... column) { + public ForeignKeyConstraint(String constraintName, boolean enforced, boolean self, String targetSchema, String targetTable, + String targetColumnName, String... column) { super(constraintName); this.enforced = enforced; + this.self = self; this.targetSchema = targetSchema; this.targetTable = targetTable; + this.targetColumnName = targetColumnName; + this.columns.addAll(Arrays.asList(column)); + } + + public ForeignKeyConstraint(String constraintName, boolean enforced, String targetSchema, String targetTable, + String targetColumnName, String... column) { + super(constraintName); + this.enforced = enforced; + this.self = false; + this.targetSchema = targetSchema; + this.targetTable = targetTable; + this.targetColumnName = targetColumnName; this.columns.addAll(Arrays.asList(column)); } + /** + * returns the target column name + * @return + */ + public String getTargetColumnName() { + return targetColumnName; + } + + // Indicates its foreign key relationship is with itself. + public boolean isSelf() { + return self; + } /** * Getter for the target table name * @return @@ -80,7 +109,6 @@ public String getQualifiedTargetName() { * @param target */ public void apply(String schemaName, String name, String tenantColumnName, IDatabaseAdapter target) { - target.createForeignKeyConstraint(getConstraintName(), schemaName, name, targetSchema, targetTable, tenantColumnName, columns, enforced); + target.createForeignKeyConstraint(getConstraintName(), schemaName, name, targetSchema, targetTable, targetColumnName, tenantColumnName, columns, enforced); } - -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/FunctionDef.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/FunctionDef.java new file mode 100644 index 00000000000..bb2f9780c68 --- /dev/null +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/FunctionDef.java @@ -0,0 +1,60 @@ +/* + * (C) Copyright IBM Corp. 2019, 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.database.utils.model; + +import java.util.Set; +import java.util.function.Supplier; +import java.util.logging.Logger; + +import com.ibm.fhir.database.utils.api.IDatabaseAdapter; + +/** + * The definition of a function, whose content is provided by a Supplier function + */ +public class FunctionDef extends BaseObject { + private static final Logger logger = Logger.getLogger(FunctionDef.class.getName()); + + // supplier provides the procedure body when requested + private Supplier supplier; + + /** + * Public constructor + * @param schemaName + * @param procedureName + * @param version + * @param supplier + */ + public FunctionDef(String schemaName, String procedureName, int version, Supplier supplier) { + super(schemaName, procedureName, DatabaseObjectType.PROCEDURE, version); + this.supplier = supplier; + } + + @Override + public void apply(IDatabaseAdapter target) { + target.createOrReplaceFunction(getSchemaName(), getObjectName(), supplier); + } + + @Override + public void apply(Integer priorVersion, IDatabaseAdapter target) { + if (priorVersion != null && priorVersion > 0 && this.getVersion() > priorVersion && !migrations.isEmpty()) { + logger.warning("Found '" + migrations.size() + "' migration steps, but performing 'create or replace' instead"); + } + + // Procedures are applied with "Create or replace", so just do a regular apply + apply(target); + } + + @Override + public void drop(IDatabaseAdapter target) { + target.dropFunction(getSchemaName(), getObjectName()); + } + + @Override + protected void grantGroupPrivileges(IDatabaseAdapter target, Set group, String toUser) { + target.grantFunctionPrivileges(getSchemaName(), getObjectName(), group, toUser); + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/PhysicalDataModel.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/PhysicalDataModel.java index 759848cf394..54469586025 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/PhysicalDataModel.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/PhysicalDataModel.java @@ -23,6 +23,7 @@ import com.ibm.fhir.database.utils.api.ITransactionProvider; import com.ibm.fhir.database.utils.api.IVersionHistoryService; import com.ibm.fhir.database.utils.common.DataDefinitionUtil; +import com.ibm.fhir.database.utils.db2.Db2Adapter; import com.ibm.fhir.task.api.ITaskCollector; /** @@ -42,6 +43,9 @@ public class PhysicalDataModel implements IDataModel { // A list of just procedures, which we may want to update separately private final List procedures = new ArrayList<>(); + // A list of just functions, which we may want to update separately + private final List functions = new ArrayList<>(); + // A map of tags which can be used to look up objects in the model private final Map>> tagMap = new HashMap<>(); @@ -52,7 +56,7 @@ public class PhysicalDataModel implements IDataModel { * Default constructor. No federated models */ public PhysicalDataModel() { - + // No Op } /** @@ -74,7 +78,6 @@ public void addTable(Table t) { // Update our tag index for this object collectTags(t); - tables.put(t.getName(), t); } @@ -102,7 +105,6 @@ public void collect(ITaskCollector tc, IDatabaseAdapter target, ITransactionProv for (IDatabaseObject obj: allObjects) { obj.collect(tc, target, tp, vhs); } - } /** @@ -135,14 +137,27 @@ public void applyWithHistory(IDatabaseAdapter target, IVersionHistoryService vhs /** * Apply all the procedures in the order in which they were added to the model - * @param target + * @param adapter */ - public void applyProcedures(IDatabaseAdapter target) { + public void applyProcedures(IDatabaseAdapter adapter) { int total = procedures.size(); int count = 1; for (ProcedureDef obj: procedures) { logger.fine(String.format("Applying [%d/%d] %s", count++, total, obj.toString())); - obj.apply(target); + obj.apply(adapter); + } + } + + /** + * Apply all the functions in the order in which they were added to the model + * @param adapter + */ + public void applyFunctions(IDatabaseAdapter adapter) { + int total = functions.size(); + int count = 1; + for (FunctionDef obj: functions) { + logger.fine(String.format("Applying [%d/%d] %s", count++, total, obj.toString())); + obj.apply(adapter); } } @@ -246,9 +261,9 @@ public void removeTenantPartitions(IDatabaseAdapter adapter, String schemaName, * @param privileges * @return */ - public ProcedureDef addProcedureAndFunctions(String schemaName, String objectName, int version, Supplier templateProvider, - Collection dependencies, Collection privileges, DbType dbType) { - ProcedureDef proc = new ProcedureDef(schemaName, objectName, version, templateProvider, dbType); + public ProcedureDef addProcedure(String schemaName, String objectName, int version, Supplier templateProvider, + Collection dependencies, Collection privileges) { + ProcedureDef proc = new ProcedureDef(schemaName, objectName, version, templateProvider); privileges.forEach(p -> p.addToObject(proc)); if (dependencies != null) { @@ -260,16 +275,28 @@ public ProcedureDef addProcedureAndFunctions(String schemaName, String objectNam return proc; } - public void removeTenantPartitions(IDatabaseAdapter adapter, String schemaName, int tenantId) { - - } - - public void dropOldTenantTables() { - - } - - public void dropTenantTablespace() { - + /** + * adds the function to the model. + * + * @param schemaName + * @param objectName + * @param version + * @param templateProvider + * @param dependencies + * @param privileges + * @return + */ + public FunctionDef addFunction(String schemaName, String objectName, int version, Supplier templateProvider, + Collection dependencies, Collection privileges) { + FunctionDef func = new FunctionDef(schemaName, objectName, version, templateProvider); + privileges.forEach(p -> p.addToObject(func)); + + if (dependencies != null) { + func.addDependencies(dependencies); + } + allObjects.add(func); + functions.add(func); + return func; } @Override @@ -382,4 +409,15 @@ public void applyGrants(IDatabaseAdapter target, String groupName, String userna } } -} + public void removeTenantPartitions(Db2Adapter adapter, String schemaName, int tenantId) { + // TODO: Need Implementation + } + + public void dropOldTenantTables() { + // TODO: Needs Implementation + } + + public void dropTenantTablespace() { + // TODO: Needs implementation + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ProcedureDef.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ProcedureDef.java index 902285efda5..d15080b1c8e 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ProcedureDef.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/ProcedureDef.java @@ -20,7 +20,6 @@ public class ProcedureDef extends BaseObject { // supplier provides the procedure body when requested private Supplier supplier; - private DbType dbType; /** * Public constructor @@ -29,32 +28,24 @@ public class ProcedureDef extends BaseObject { * @param version * @param supplier */ - public ProcedureDef(String schemaName, String procedureName, int version, Supplier supplier, DbType dbType) { + public ProcedureDef(String schemaName, String procedureName, int version, Supplier supplier) { super(schemaName, procedureName, DatabaseObjectType.PROCEDURE, version); this.supplier = supplier; - this.dbType = dbType; } @Override public void apply(IDatabaseAdapter target) { // Serialize the execution of the procedure, to try and avoid the // horrible deadlocks we keep getting - synchronized(target) { - String driveClassName = target.getTranslator().getDriverClassName(); - // Only apply DB Type specific store procedures. - if (driveClassName.contains(this.getDbType().value())) { - // Remove the postgresql tag "_pg" from the end of the object name and create the stored procedure. - target.createOrReplaceProcedureAndFunctions(getSchemaName(), getObjectName().replace("_pg",""), supplier); - } + synchronized (this) { + target.createOrReplaceProcedure(getSchemaName(), getObjectName(), supplier); } } @Override public void apply(Integer priorVersion, IDatabaseAdapter target) { - if (priorVersion != null && priorVersion > 0 && this.getVersion() > priorVersion) { - if (!migrations.isEmpty()) { - logger.warning("Found " + migrations.size() + " migration steps, but performing 'create or replace' instead"); - } + if (priorVersion != null && priorVersion > 0 && this.getVersion() > priorVersion && !migrations.isEmpty()) { + logger.warning("Found '" + migrations.size() + "' migration steps, but performing 'create or replace' instead"); } // Procedures are applied with "Create or replace", so just do a regular apply @@ -68,15 +59,6 @@ public void drop(IDatabaseAdapter target) { @Override protected void grantGroupPrivileges(IDatabaseAdapter target, Set group, String toUser) { - String driveClassName = target.getTranslator().getDriverClassName(); - // Only apply DB Type specific store procedures. - if (driveClassName.contains(this.getDbType().value())) { - // Remove the postgresql tag "_pg" from the end of the object name and create the stored procedure. - target.grantProcedurePrivileges(getSchemaName(), getObjectName(), group, toUser); - } - } - - public DbType getDbType() { - return dbType; + target.grantProcedurePrivileges(getSchemaName(), getObjectName(), group, toUser); } -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SessionVariableDef.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SessionVariableDef.java index c44792455c4..c8cb53d9eda 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SessionVariableDef.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SessionVariableDef.java @@ -36,7 +36,8 @@ public void drop(IDatabaseAdapter target) { @Override protected void grantGroupPrivileges(IDatabaseAdapter target, Set group, String toUser) { - target.grantVariablePrivileges(getSchemaName(), getObjectName(), group, toUser); + if (target.useSessionVariable()) { + target.grantVariablePrivileges(getSchemaName(), getObjectName(), group, toUser); + } } - -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SmallIntColumn.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SmallIntColumn.java new file mode 100644 index 00000000000..aabb4d1b7ad --- /dev/null +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SmallIntColumn.java @@ -0,0 +1,34 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.database.utils.model; + +import com.ibm.fhir.database.utils.api.IDatabaseTypeAdapter; +import com.ibm.fhir.database.utils.postgresql.PostgreSqlAdapter; + +/** + * Small Int Column + */ +public class SmallIntColumn extends ColumnBase { + /** + * @param name + * @param nullable + * @param defaultValue + */ + public SmallIntColumn(String name, boolean nullable, String defaultValue) { + super(name, nullable, defaultValue); + } + + @Override + public String getTypeInfo(IDatabaseTypeAdapter adapter) { + if (adapter instanceof PostgreSqlAdapter) { + this.resetDefaultValue(); + return "BOOLEAN"; + } else { + return "SMALLINT"; + } + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/Table.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/Table.java index c4df1f8db4e..aad16f85dc7 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/Table.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/Table.java @@ -15,6 +15,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; import com.ibm.fhir.database.utils.api.IDatabaseAdapter; import com.ibm.fhir.database.utils.common.DataDefinitionUtil; @@ -23,7 +24,6 @@ * An immutable definition of a table */ public class Table extends BaseObject { - // The list of columns in this table private final List columns = new ArrayList<>(); @@ -79,7 +79,9 @@ public Table(String schemaName, String name, int version, String tenantColumnNam this.accessControlVar = accessControlVar; this.tablespace = tablespace; - addDependencies(dependencies); + // Adds all dependencies which aren't null. + // The only circumstances where it is null is when it is self referencial (an FK on itself). + addDependencies(dependencies.stream().filter(x -> x != null).collect(Collectors.toList())); addTags(tags); privileges.forEach(p -> p.addToObject(this)); @@ -201,6 +203,9 @@ public static class Builder extends VersionedSchemaObject { // All the foreign key constraints defined for this table private Map fkConstraints = new HashMap<>(); + // All the unique constraints defined for this table + private Map uniqueConstraints = new HashMap<>(); + // other dependencies of this table private Set dependencies = new HashSet<>(); @@ -260,6 +265,23 @@ public Builder addIntColumn(String columnName, boolean nullable) { return this; } + public Builder addSmallIntColumn(String columnName, Integer defaultValue, boolean nullable) { + ColumnDef cd = new ColumnDef(columnName); + if (columns.contains(cd)) { + throw new IllegalArgumentException("Duplicate column: " + columnName); + } + + cd.setNullable(nullable); + + if (defaultValue != null) { + cd.setDefaultVal(Integer.toString(defaultValue)); + } + + cd.setColumnType(ColumnType.SMALLINT); + columns.add(cd); + return this; + } + public Builder addBigIntColumn(String columnName, boolean nullable) { ColumnDef cd = new ColumnDef(columnName); if (columns.contains(cd)) { @@ -376,6 +398,12 @@ public Builder addBlobColumn(String columnName, long size, int inlineSize, boole return this; } + /** + * @param columnName + * @param nullable + * @param defaultVal this value is auto-quoted; do not pass the single-quote (') within the string value + * @return + */ public Builder addClobColumn(String columnName, boolean nullable, String defaultVal) { ColumnDef cd = new ColumnDef(columnName); if (columns.contains(cd)) { @@ -384,7 +412,7 @@ public Builder addClobColumn(String columnName, boolean nullable, String default cd.setNullable(nullable); cd.setColumnType(ColumnType.CLOB); - cd.setDefaultVal(defaultVal); + cd.setDefaultVal("'" + defaultVal + "'"); columns.add(cd); return this; } @@ -467,11 +495,12 @@ public Builder addUniqueIndex(String indexName, Collection indexColumns, /** * Add a unique constraint to the table/column * @param constraintName - * @param columnName + * @param columnName - at least one column * @return */ - public Builder addUniqueConstraint(String constraintName, String columnName) { - throw new IllegalArgumentException("not yet supported"); + public Builder addUniqueConstraint(String constraintName, String... columnName) { + this.uniqueConstraints.put(constraintName, new UniqueConstraint(constraintName, columnName)); + return this; } /** @@ -500,7 +529,37 @@ public Builder addForeignKeyConstraint(String constraintName, String targetSchem * @return */ public Builder addForeignKeyConstraint(String constraintName, boolean enforced, String targetSchema, String targetTable, String... columns) { - this.fkConstraints.put(constraintName, new ForeignKeyConstraint(constraintName, enforced, targetSchema, targetTable, columns)); + this.fkConstraints.put(constraintName, new ForeignKeyConstraint(constraintName, enforced, false, targetSchema, targetTable, null, columns)); + return this; + } + + /** + * Adds a foreign key constraint relationship on itself. This is intentionally created as a separate method, so there are no mistakes. + * + * @param constraintName + * @param targetSchema + * @param targetTable + * @param targetColumnName + * @param columns + * @return + */ + public Builder addForeignKeyConstraintSelf(String constraintName, String targetSchema, String targetTable, String targetColumnName, String... columns) { + this.fkConstraints.put(constraintName, new ForeignKeyConstraint(constraintName, true, true, targetSchema, targetTable, targetColumnName, columns)); + return this; + } + + /** + * Adds a foreign key constraint relationship on itself. This is intentionally created as a separate method, so there are no mistakes. + * + * @param constraintName + * @param targetSchema + * @param targetTable + * @param targetColumnName + * @param columns + * @return + */ + public Builder addForeignKeyConstraintAltTarget(String constraintName, String targetSchema, String targetTable, String targetColumnName, String... columns) { + this.fkConstraints.put(constraintName, new ForeignKeyConstraint(constraintName, true, false, targetSchema, targetTable, targetColumnName, columns)); return this; } @@ -538,7 +597,7 @@ public Table build(IDataModel dataModel) { for (ForeignKeyConstraint c: this.fkConstraints.values()) { Table target = dataModel.findTable(c.getTargetSchema(), c.getTargetTable()); - if (target == null) { + if (target == null && !c.isSelf()) { String targetName = DataDefinitionUtil.getQualifiedName(c.getTargetSchema(), c.getTargetTable()); throw new IllegalArgumentException("Invalid foreign key constraint " + c.getConstraintName() + ": target table does not exist: " + targetName); } @@ -575,6 +634,9 @@ protected List buildColumns() { case INT: column = new IntColumn(cd.getName(), cd.isNullable()); break; + case SMALLINT: + column = new SmallIntColumn(cd.getName(), cd.isNullable(), cd.getDefaultVal()); + break; case DOUBLE: column = new DoubleColumn(cd.getName(), cd.isNullable()); break; diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/UniqueConstraint.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/UniqueConstraint.java index f30f6838324..4c77553143f 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/UniqueConstraint.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/UniqueConstraint.java @@ -1,21 +1,37 @@ /* - * (C) Copyright IBM Corp. 2019 + * (C) Copyright IBM Corp. 2019, 2020 * * SPDX-License-Identifier: Apache-2.0 */ package com.ibm.fhir.database.utils.model; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.ibm.fhir.database.utils.api.IDatabaseAdapter; + /** * Constraint on unique */ public class UniqueConstraint extends Constraint { - + private final List localColumns = new ArrayList<>(); + /** * @param constraintName + * @param columns */ - protected UniqueConstraint(String constraintName) { + protected UniqueConstraint(String constraintName, String... columns) { super(constraintName); + localColumns.addAll(Arrays.asList(columns)); } -} + /** + * @param name + * @param target + */ + public void apply(String schemaName, String name, String tenantColumnName, IDatabaseAdapter target) { + target.createUniqueConstraint(getConstraintName(), localColumns, schemaName, name); + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/VarcharColumn.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/VarcharColumn.java index e580fa3527c..88d4dd1147c 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/VarcharColumn.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/VarcharColumn.java @@ -30,5 +30,4 @@ public int getSize() { public String getTypeInfo(IDatabaseTypeAdapter adapter) { return adapter.varcharClause(size); } - -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/pool/PoolConnectionProvider.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/pool/PoolConnectionProvider.java index 46dd091cb97..d3e4c1857ec 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/pool/PoolConnectionProvider.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/pool/PoolConnectionProvider.java @@ -49,7 +49,7 @@ public class PoolConnectionProvider implements IConnectionProvider { // The maximum number of connections allowed to be active private final int maxPoolSize; - + /** * Public constructor * @param cp @@ -269,4 +269,10 @@ public void describe(String prefix, StringBuilder cfg, String key) { // Not Implemented } -} + /** + * gets the pool size for the pooled connection + */ + public int getPoolSize() { + return this.maxPoolSize; + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/postgresql/PostgreSqlAdapter.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/postgresql/PostgreSqlAdapter.java index f0d40e1255a..e9071d50c34 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/postgresql/PostgreSqlAdapter.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/postgresql/PostgreSqlAdapter.java @@ -6,6 +6,9 @@ package com.ibm.fhir.database.utils.postgresql; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; import java.util.Collection; import java.util.List; import java.util.Set; @@ -14,6 +17,8 @@ import java.util.logging.Level; import java.util.logging.Logger; +import com.ibm.fhir.database.utils.api.DuplicateNameException; +import com.ibm.fhir.database.utils.api.DuplicateSchemaException; import com.ibm.fhir.database.utils.api.IConnectionProvider; import com.ibm.fhir.database.utils.api.IDatabaseStatement; import com.ibm.fhir.database.utils.api.IDatabaseTarget; @@ -24,6 +29,7 @@ import com.ibm.fhir.database.utils.model.ForeignKeyConstraint; import com.ibm.fhir.database.utils.model.IdentityDef; import com.ibm.fhir.database.utils.model.PrimaryKeyDef; +import com.ibm.fhir.database.utils.model.Privilege; import com.ibm.fhir.database.utils.model.Table; /** @@ -95,7 +101,6 @@ public void createTable(String schemaName, String name, String tenantColumnName, @Override public void createUniqueIndex(String schemaName, String tableName, String indexName, String tenantColumnName, List indexColumns, List includeColumns) { - // PostgreSql doesn't support include columns, so we just have to create a normal index createUniqueIndex(schemaName, tableName, indexName, tenantColumnName, indexColumns); } @@ -148,33 +153,6 @@ public void dropType(String schemaName, String typeName) { warnOnce(MessageKey.DROP_TYPE, "Drop type not supported in PostgreSql"); } - @Override - public void createOrReplaceProcedureAndFunctions(String schemaName, String procedureName, Supplier supplier) { - final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, procedureName); - logger.info("Create or replace procedure " + objectName); - - // Build the create procedure DDL and apply it - // Because postgresql version 12 doesn't support OUT parameter yet, so we use Function with exactly the similar - // parameters as DB2 stored procedures for now. - final StringBuilder ddl = new StringBuilder() - .append("CREATE OR REPLACE FUNCTION ") - .append(objectName) - .append(System.lineSeparator()) - .append(supplier.get()); - - final String ddlString = ddl.toString(); - if (logger.isLoggable(Level.FINE)) { - logger.fine(ddlString); - } - - runStatement(ddlString); - } - - @Override - public void dropProcedure(String schemaName, String procedureName) { - warnOnce(MessageKey.DROP_PROC, "Drop procedure not supported in PostgreSql"); - } - @Override public void createTablespace(String tablespaceName) { warnOnce(MessageKey.TABLESPACE, "Create tablespace not supported in PostgreSql"); @@ -241,16 +219,25 @@ public String timestampClause(Integer precision) { // PostgreSql doesn't support the timestamp precision argument return "TIMESTAMP"; } + + + @Override + public String doubleClause() { + return "DOUBLE PRECISION"; + } @Override - public void createForeignKeyConstraint(String constraintName, String schemaName, String name, - String targetSchema, String targetTable, String tenantColumnName, - List columns, boolean enforced) { + public String clobClause() { + return "TEXT"; + } + @Override + public void createForeignKeyConstraint(String constraintName, String schemaName, String name, String targetSchema, + String targetTable, String targetColumnName, String tenantColumnName, List columns, boolean enforced) { // If enforced=false, skip the constraint because PostgreSQL doesn't support unenforced constraints if (enforced) { // Make the call, but without the tenantColumnName because PostgreSQL doesn't support our multi-tenant implementation - super.createForeignKeyConstraint(constraintName, schemaName, name, targetSchema, targetTable, null, columns, true); + super.createForeignKeyConstraint(constraintName, schemaName, name, targetSchema, targetTable, targetColumnName, null, columns, true); } } @@ -267,7 +254,7 @@ public void runStatement(IDatabaseStatement stmt) { AddForeignKeyConstraint afk = (AddForeignKeyConstraint) stmt; for (ForeignKeyConstraint constraint : afk.getConstraints()) { createForeignKeyConstraint(constraint.getConstraintName(), afk.getSchemaName(), afk.getTableName(), - constraint.getTargetSchema(), constraint.getTargetTable(), + constraint.getTargetSchema(), constraint.getTargetTable(), constraint.getTargetColumnName(), afk.getTenantColumnName(), constraint.getColumns(), constraint.isEnforced()); } } else { @@ -275,16 +262,6 @@ public void runStatement(IDatabaseStatement stmt) { } } - @Override - public String doubleClause() { - return "DOUBLE PRECISION"; - } - - @Override - public String clobClause() { - return "TEXT"; - } - @Override public void createUniqueIndex(String schemaName, String tableName, String indexName, String tenantColumnName, List indexColumns) { @@ -302,4 +279,48 @@ public void createIndex(String schemaName, String tableName, String indexName, S String ddl = DataDefinitionUtil.createIndex(schemaName, tableName, indexName, indexColumns, false); runStatement(ddl); } -} + + @Override + public boolean checkCompatibility(String adminSchema) { + final String statement = "SELECT 1"; + boolean result = false; + try (Connection c = connectionProvider.getConnection(); PreparedStatement stmt = c.prepareStatement(statement)) { + result = stmt.execute(); + } catch (SQLException x) { + throw this.getTranslator().translate(x); + } + return result; + } + + @Override + public void createSchema(String schemaName){ + try { + String ddl = "CREATE SCHEMA IF NOT EXISTS " + schemaName; + runStatement(ddl); + logger.log(Level.INFO, "The schema '" + schemaName + "' is created or already exists"); + } catch (DuplicateNameException | DuplicateSchemaException e) { + logger.log(Level.WARNING, "The schema '" + schemaName + "' already exists; proceed with caution."); + } + } + + /* + * @implNote the following are NOT supported on postgres, and thus, we're logging out FINE only. + */ + @Override + public void createOrReplaceProcedure(String schemaName, String procedureName, Supplier supplier) { + final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, procedureName); + logger.fine("Create or replace procedure not run on [" + objectName + "]. This is as expected"); + } + + @Override + public void grantProcedurePrivileges(String schemaName, String procedureName, Collection privileges, String toUser) { + final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, procedureName); + logger.fine("Grant procedure not run on [" + objectName + "]. This is as expected"); + } + + @Override + public void dropProcedure(String schemaName, String procedureName) { + final String objectName = DataDefinitionUtil.getQualifiedName(schemaName, procedureName); + logger.fine("Drop procedure not run on [" + objectName + "]. This is as expected"); + } +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/postgresql/PostgreSqlTranslator.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/postgresql/PostgreSqlTranslator.java index 202dad87f7a..3eacfd25728 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/postgresql/PostgreSqlTranslator.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/postgresql/PostgreSqlTranslator.java @@ -13,6 +13,7 @@ import com.ibm.fhir.database.utils.api.ConnectionDetails; import com.ibm.fhir.database.utils.api.ConnectionException; import com.ibm.fhir.database.utils.api.DataAccessException; +import com.ibm.fhir.database.utils.api.DuplicateSchemaException; import com.ibm.fhir.database.utils.api.IDatabaseTranslator; import com.ibm.fhir.database.utils.api.LockException; import com.ibm.fhir.database.utils.api.UndefinedNameException; @@ -77,24 +78,34 @@ public boolean isConnectionError(SQLException x) { public DataAccessException translate(SQLException x) { if (isDeadlock(x)) { return new LockException(x, true); - } - else if (isLockTimeout(x)) { + } else if (isLockTimeout(x)) { return new LockException(x, false); - } - else if (isConnectionError(x)) { + } else if (isConnectionError(x)) { return new ConnectionException(x); - } - else if (isDuplicate(x)) { + } else if (isDuplicate(x)) { return new UniqueConstraintViolationException(x); - } - else if (isUndefinedName(x)) { + } else if (isUndefinedName(x)) { return new UndefinedNameException(x); - } - else { + } else if(isDuplicateSchema(x)) { + return new DuplicateSchemaException(x); + } else { return new DataAccessException(x); } } + /** + * @implNote sometimes this is wrapped in a cause by. + * @see https://www.postgresql.org/docs/9.4/errcodes-appendix.html + */ + public boolean isDuplicateSchema(SQLException x) { + Throwable inter = x.getCause(); + SQLException temp = null; + if (inter instanceof SQLException) { + temp = ((SQLException) inter); + } + return "42P06".equals(x.getSQLState()) || (temp != null && "42P06".equals(temp.getSQLState())); + } + @Override public boolean isUndefinedName(SQLException x) { return "42X05".equals(x.getSQLState()); diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/transaction/SimpleTransactionProvider.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/transaction/SimpleTransactionProvider.java index 0445415a6a2..8da0b77becd 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/transaction/SimpleTransactionProvider.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/transaction/SimpleTransactionProvider.java @@ -1,5 +1,5 @@ /* - * (C) Copyright IBM Corp. 2019 + * (C) Copyright IBM Corp. 2019, 2020 * * SPDX-License-Identifier: Apache-2.0 */ @@ -14,7 +14,6 @@ * Simple Transaction Wrapper and provider */ public class SimpleTransactionProvider implements ITransactionProvider { - private final IConnectionProvider connectionProvider; /** @@ -31,5 +30,4 @@ public ITransaction getTransaction() { // been configured with return TransactionFactory.openTransaction(this.connectionProvider); } - -} +} \ No newline at end of file diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/task/core/impl/TaskManager.java b/fhir-database-utils/src/main/java/com/ibm/fhir/task/core/impl/TaskManager.java index 35462d62b56..02faab28f29 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/task/core/impl/TaskManager.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/task/core/impl/TaskManager.java @@ -72,8 +72,7 @@ public Collection getFailedTaskGroups() { lock.lock(); try { return Collections.unmodifiableList(this.failedTaskGroups); - } - finally { + } finally { lock.unlock(); } } @@ -120,8 +119,7 @@ private void waitForCompletion() { while (this.currentlyRunningCount > 0) { try { runningCondition.await(1000, TimeUnit.MILLISECONDS); - } - catch (InterruptedException x) { + } catch (InterruptedException x) { throw new IllegalStateException(x); } } diff --git a/fhir-examples/src/main/resources/profiles-fhir-ig-carin-bb-json.txt b/fhir-examples/src/main/resources/profiles-fhir-ig-carin-bb-json.txt index ccfc8a3717a..d64a2fc08d5 100644 --- a/fhir-examples/src/main/resources/profiles-fhir-ig-carin-bb-json.txt +++ b/fhir-examples/src/main/resources/profiles-fhir-ig-carin-bb-json.txt @@ -1,6 +1,6 @@ OK json/profiles/fhir-ig-carin-bb/Coverage-Coverage1.json OK json/profiles/fhir-ig-carin-bb/ExplanationOfBenefit-EOB1.json OK json/profiles/fhir-ig-carin-bb/Organization-Org1.json -VALIDATION json/profiles/fhir-ig-carin-bb/Organization-Org45.json +OK json/profiles/fhir-ig-carin-bb/Organization-Org45.json OK json/profiles/fhir-ig-carin-bb/Patient-Patient1.json OK json/profiles/fhir-ig-carin-bb/PractitionerRole-PractitionerRole1.json \ No newline at end of file diff --git a/fhir-examples/src/main/resources/profiles-fhir-ig-carin-bb-xml.txt b/fhir-examples/src/main/resources/profiles-fhir-ig-carin-bb-xml.txt index 8cb61266691..b2456c2e580 100644 --- a/fhir-examples/src/main/resources/profiles-fhir-ig-carin-bb-xml.txt +++ b/fhir-examples/src/main/resources/profiles-fhir-ig-carin-bb-xml.txt @@ -1,6 +1,6 @@ OK xml/profiles/fhir-ig-carin-bb/Coverage-Coverage1.xml OK xml/profiles/fhir-ig-carin-bb/ExplanationOfBenefit-EOB1.xml OK xml/profiles/fhir-ig-carin-bb/Organization-Org1.xml -VALIDATION xml/profiles/fhir-ig-carin-bb/Organization-Org45.xml +OK xml/profiles/fhir-ig-carin-bb/Organization-Org45.xml OK xml/profiles/fhir-ig-carin-bb/Patient-Patient1.xml OK xml/profiles/fhir-ig-carin-bb/PractitionerRole-PractitionerRole1.xml \ No newline at end of file diff --git a/fhir-ig-carin-bb/pom.xml b/fhir-ig-carin-bb/pom.xml index 5d6048d51c3..b61535e582a 100644 --- a/fhir-ig-carin-bb/pom.xml +++ b/fhir-ig-carin-bb/pom.xml @@ -20,6 +20,11 @@ fhir-registry ${project.version} + + ${project.groupId} + fhir-ig-us-core + ${project.version} + org.testng testng @@ -31,6 +36,13 @@ ${project.version} test + + ${project.groupId} + fhir-validation + ${project.version} + test + test-jar + ${project.groupId} fhir-examples diff --git a/fhir-ig-carin-bb/src/test/java/com/ibm/fhir/ig/carin/bb/test/BBValidationTest.java b/fhir-ig-carin-bb/src/test/java/com/ibm/fhir/ig/carin/bb/test/BBValidationTest.java index 65cd476912d..689f8570373 100644 --- a/fhir-ig-carin-bb/src/test/java/com/ibm/fhir/ig/carin/bb/test/BBValidationTest.java +++ b/fhir-ig-carin-bb/src/test/java/com/ibm/fhir/ig/carin/bb/test/BBValidationTest.java @@ -29,7 +29,7 @@ public void testBBValidation1() throws Exception { List issues = FHIRValidator.validator().validate(explanationOfBenefit); issues.forEach(System.out::println); Assert.assertEquals(countErrors(issues), 1); - Assert.assertEquals(countWarnings(issues), 8); + Assert.assertEquals(countWarnings(issues), 7); } } @@ -51,7 +51,7 @@ public void testBBValidation3() throws Exception { List issues = FHIRValidator.validator().validate(explanationOfBenefit); issues.forEach(System.out::println); Assert.assertEquals(countErrors(issues), 1); - Assert.assertEquals(countWarnings(issues), 8); + Assert.assertEquals(countWarnings(issues), 7); } } diff --git a/fhir-ig-carin-bb/src/test/java/com/ibm/fhir/ig/carin/bb/test/ExamplesValidationTest.java b/fhir-ig-carin-bb/src/test/java/com/ibm/fhir/ig/carin/bb/test/ExamplesValidationTest.java index 4de301769f5..bae7c194a02 100644 --- a/fhir-ig-carin-bb/src/test/java/com/ibm/fhir/ig/carin/bb/test/ExamplesValidationTest.java +++ b/fhir-ig-carin-bb/src/test/java/com/ibm/fhir/ig/carin/bb/test/ExamplesValidationTest.java @@ -6,64 +6,29 @@ package com.ibm.fhir.ig.carin.bb.test; -import static com.ibm.fhir.validation.util.FHIRValidationUtil.countErrors; -import static org.testng.Assert.assertEquals; - -import java.io.BufferedReader; -import java.io.Reader; -import java.util.List; - import org.testng.annotations.Test; -import com.ibm.fhir.examples.ExamplesUtil; import com.ibm.fhir.examples.Index; -import com.ibm.fhir.model.format.Format; -import com.ibm.fhir.model.parser.FHIRParser; -import com.ibm.fhir.model.resource.OperationOutcome.Issue; -import com.ibm.fhir.model.resource.Resource; -import com.ibm.fhir.model.spec.test.Expectation; -import com.ibm.fhir.validation.FHIRValidator; +import com.ibm.fhir.model.spec.test.R4ExamplesDriver; +import com.ibm.fhir.model.spec.test.SerializationProcessor; +import com.ibm.fhir.validation.test.ValidationProcessor; public class ExamplesValidationTest { @Test public void testBBValidationJson() throws Exception { - try (Reader reader = ExamplesUtil.indexReader(Index.PROFILES_CARRIN_BB_JSON); BufferedReader br = new BufferedReader(reader);) { - String line = br.readLine(); - while (line != null) { - String[] tokens = line.split("\\s+"); - Expectation exp = Expectation.valueOf(tokens[0]); - try (Reader in = ExamplesUtil.resourceReader(tokens[1])) { - Resource resource = FHIRParser.parser(Format.JSON).parse(in); - List issues = FHIRValidator.validator().validate(resource); - // Left for debug issues.forEach(System.out::println); - - if(!exp.equals(Expectation.VALIDATION) && !exp.equals(Expectation.PROCESS)) { - assertEquals(countErrors(issues), 0); - } - } - line = br.readLine(); - } - } + R4ExamplesDriver driver = new R4ExamplesDriver(); + SerializationProcessor processor = new SerializationProcessor(); + driver.setProcessor(processor); + driver.setValidator(new ValidationProcessor()); + driver.processIndex(Index.PROFILES_CARRIN_BB_JSON); } @Test public void testBBValidationXML() throws Exception { - try (Reader reader = ExamplesUtil.indexReader(Index.PROFILES_CARRIN_BB_XML); BufferedReader br = new BufferedReader(reader);) { - String line = br.readLine(); - while (line != null) { - String[] tokens = line.split("\\s+"); - Expectation exp = Expectation.valueOf(tokens[0]); - try (Reader in = ExamplesUtil.resourceReader(tokens[1])) { - Resource resource = FHIRParser.parser(Format.XML).parse(in); - List issues = FHIRValidator.validator().validate(resource); - // Left for debug issues.forEach(System.out::println); - - if(!exp.equals(Expectation.VALIDATION) && !exp.equals(Expectation.PROCESS)) { - assertEquals(countErrors(issues), 0); - } - } - line = br.readLine(); - } - } + R4ExamplesDriver driver = new R4ExamplesDriver(); + SerializationProcessor processor = new SerializationProcessor(); + driver.setProcessor(processor); + driver.setValidator(new ValidationProcessor()); + driver.processIndex(Index.PROFILES_CARRIN_BB_XML); } } \ No newline at end of file diff --git a/fhir-install/pom.xml b/fhir-install/pom.xml index 0ae2508e930..3230dbaeb5f 100644 --- a/fhir-install/pom.xml +++ b/fhir-install/pom.xml @@ -279,6 +279,11 @@ fhir-ig-us-core ${project.version} + + ${project.groupId} + fhir-term + ${project.version} + ${project.groupId} fhir-notification diff --git a/fhir-install/src/main/assembly/distribution.xml b/fhir-install/src/main/assembly/distribution.xml index a5353020424..3f7109ec274 100644 --- a/fhir-install/src/main/assembly/distribution.xml +++ b/fhir-install/src/main/assembly/distribution.xml @@ -75,6 +75,7 @@ 0755 ${project.groupId}:fhir-ig-* + ${project.groupId}:fhir-term diff --git a/fhir-model/src/main/java/com/ibm/fhir/model/type/code/ConceptSubsumptionOutcome.java b/fhir-model/src/main/java/com/ibm/fhir/model/type/code/ConceptSubsumptionOutcome.java new file mode 100644 index 00000000000..442295a58f5 --- /dev/null +++ b/fhir-model/src/main/java/com/ibm/fhir/model/type/code/ConceptSubsumptionOutcome.java @@ -0,0 +1,207 @@ +/* + * (C) Copyright IBM Corp. 2019, 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.model.type.code; + +import com.ibm.fhir.model.annotation.System; +import com.ibm.fhir.model.type.Code; +import com.ibm.fhir.model.type.Extension; +import com.ibm.fhir.model.type.String; + +import java.util.Collection; +import java.util.Objects; + +import javax.annotation.Generated; + +@System("http://hl7.org/fhir/concept-subsumption-outcome") +@Generated("com.ibm.fhir.tools.CodeGenerator") +public class ConceptSubsumptionOutcome extends Code { + /** + * Equivalent + * + *

The two concepts are equivalent (have the same properties). + */ + public static final ConceptSubsumptionOutcome EQUIVALENT = ConceptSubsumptionOutcome.builder().value(ValueSet.EQUIVALENT).build(); + + /** + * Subsumes + * + *

Coding/code "A" subsumes Coding/code "B" (e.g. B has all the properties A has, and some of it's own). + */ + public static final ConceptSubsumptionOutcome SUBSUMES = ConceptSubsumptionOutcome.builder().value(ValueSet.SUBSUMES).build(); + + /** + * Subsumed-By + * + *

Coding/code "A" is subsumed by Coding/code "B" (e.g. A has all the properties B has, and some of it's own). + */ + public static final ConceptSubsumptionOutcome SUBSUMED_BY = ConceptSubsumptionOutcome.builder().value(ValueSet.SUBSUMED_BY).build(); + + /** + * Not-Subsumed + * + *

Coding/code "A" and Coding/code "B" are disjoint (e.g. each has propeties that the other doesn't have). + */ + public static final ConceptSubsumptionOutcome NOT_SUBSUMED = ConceptSubsumptionOutcome.builder().value(ValueSet.NOT_SUBSUMED).build(); + + private volatile int hashCode; + + private ConceptSubsumptionOutcome(Builder builder) { + super(builder); + } + + public ValueSet getValueAsEnumConstant() { + return (value != null) ? ValueSet.from(value) : null; + } + + public static ConceptSubsumptionOutcome of(ValueSet value) { + switch (value) { + case EQUIVALENT: + return EQUIVALENT; + case SUBSUMES: + return SUBSUMES; + case SUBSUMED_BY: + return SUBSUMED_BY; + case NOT_SUBSUMED: + return NOT_SUBSUMED; + default: + throw new IllegalStateException(value.name()); + } + } + + public static ConceptSubsumptionOutcome of(java.lang.String value) { + return of(ValueSet.from(value)); + } + + public static String string(java.lang.String value) { + return of(ValueSet.from(value)); + } + + public static Code code(java.lang.String value) { + return of(ValueSet.from(value)); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + ConceptSubsumptionOutcome other = (ConceptSubsumptionOutcome) obj; + return Objects.equals(id, other.id) && Objects.equals(extension, other.extension) && Objects.equals(value, other.value); + } + + @Override + public int hashCode() { + int result = hashCode; + if (result == 0) { + result = Objects.hash(id, extension, value); + hashCode = result; + } + return result; + } + + public Builder toBuilder() { + Builder builder = new Builder(); + builder.id(id); + builder.extension(extension); + builder.value(value); + return builder; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder extends Code.Builder { + private Builder() { + super(); + } + + @Override + public Builder id(java.lang.String id) { + return (Builder) super.id(id); + } + + @Override + public Builder extension(Extension... extension) { + return (Builder) super.extension(extension); + } + + @Override + public Builder extension(Collection extension) { + return (Builder) super.extension(extension); + } + + @Override + public Builder value(java.lang.String value) { + return (value != null) ? (Builder) super.value(ValueSet.from(value).value()) : this; + } + + public Builder value(ValueSet value) { + return (value != null) ? (Builder) super.value(value.value()) : this; + } + + @Override + public ConceptSubsumptionOutcome build() { + return new ConceptSubsumptionOutcome(this); + } + } + + public enum ValueSet { + /** + * Equivalent + * + *

The two concepts are equivalent (have the same properties). + */ + EQUIVALENT("equivalent"), + + /** + * Subsumes + * + *

Coding/code "A" subsumes Coding/code "B" (e.g. B has all the properties A has, and some of it's own). + */ + SUBSUMES("subsumes"), + + /** + * Subsumed-By + * + *

Coding/code "A" is subsumed by Coding/code "B" (e.g. A has all the properties B has, and some of it's own). + */ + SUBSUMED_BY("subsumed-by"), + + /** + * Not-Subsumed + * + *

Coding/code "A" and Coding/code "B" are disjoint (e.g. each has propeties that the other doesn't have). + */ + NOT_SUBSUMED("not-subsumed"); + + private final java.lang.String value; + + ValueSet(java.lang.String value) { + this.value = value; + } + + public java.lang.String value() { + return value; + } + + public static ValueSet from(java.lang.String value) { + for (ValueSet c : ValueSet.values()) { + if (c.value.equals(value)) { + return c; + } + } + throw new IllegalArgumentException(value); + } + } +} diff --git a/fhir-openapi/src/main/webapp/META-INF/openapi.json b/fhir-openapi/src/main/webapp/META-INF/openapi.json index 23a3d6bfffb..d14502c7813 100644 --- a/fhir-openapi/src/main/webapp/META-INF/openapi.json +++ b/fhir-openapi/src/main/webapp/META-INF/openapi.json @@ -523,8 +523,8 @@ "operationId": "searchAccount", "parameters": [ { - "name": "identifier", - "description": "Account number", + "name": "period", + "description": "Transaction window", "in": "query", "required": false, "schema": { @@ -541,8 +541,8 @@ } }, { - "name": "owner", - "description": "Entity managing the Account", + "name": "status", + "description": "active | inactive | entered-in-error | on-hold | unknown", "in": "query", "required": false, "schema": { @@ -550,8 +550,8 @@ } }, { - "name": "patient", - "description": "The entity that caused the expenses", + "name": "identifier", + "description": "Account number", "in": "query", "required": false, "schema": { @@ -559,8 +559,8 @@ } }, { - "name": "period", - "description": "Transaction window", + "name": "type", + "description": "E.g. patient, expense, depreciation", "in": "query", "required": false, "schema": { @@ -568,8 +568,8 @@ } }, { - "name": "status", - "description": "active | inactive | entered-in-error | on-hold | unknown", + "name": "subject", + "description": "The entity that caused the expenses", "in": "query", "required": false, "schema": { @@ -577,8 +577,8 @@ } }, { - "name": "subject", - "description": "The entity that caused the expenses", + "name": "owner", + "description": "Entity managing the Account", "in": "query", "required": false, "schema": { @@ -586,8 +586,8 @@ } }, { - "name": "type", - "description": "E.g. patient, expense, depreciation", + "name": "patient", + "description": "The entity that caused the expenses", "in": "query", "required": false, "schema": { @@ -595,22 +595,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -808,8 +808,8 @@ "operationId": "searchActivityDefinition", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", + "name": "effective", + "description": "The time during which the activity definition is intended to be in use", "in": "query", "required": false, "schema": { @@ -817,8 +817,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the activity definition", + "name": "date", + "description": "The activity definition publication date", "in": "query", "required": false, "schema": { @@ -826,8 +826,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the activity definition", + "name": "name", + "description": "Computationally friendly name of the activity definition", "in": "query", "required": false, "schema": { @@ -835,8 +835,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the activity definition", + "name": "publisher", + "description": "Name of the publisher of the activity definition", "in": "query", "required": false, "schema": { @@ -844,8 +844,8 @@ } }, { - "name": "date", - "description": "The activity definition publication date", + "name": "description", + "description": "The description of the activity definition", "in": "query", "required": false, "schema": { @@ -853,8 +853,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "title", + "description": "The human-friendly name of the activity definition", "in": "query", "required": false, "schema": { @@ -862,8 +862,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "version", + "description": "The business version of the activity definition", "in": "query", "required": false, "schema": { @@ -871,8 +871,8 @@ } }, { - "name": "description", - "description": "The description of the activity definition", + "name": "topic", + "description": "Topics associated with the module", "in": "query", "required": false, "schema": { @@ -880,8 +880,8 @@ } }, { - "name": "effective", - "description": "The time during which the activity definition is intended to be in use", + "name": "jurisdiction", + "description": "Intended jurisdiction for the activity definition", "in": "query", "required": false, "schema": { @@ -889,8 +889,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the activity definition", + "name": "context", + "description": "A use context assigned to the activity definition", "in": "query", "required": false, "schema": { @@ -898,8 +898,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the activity definition", + "name": "context-type", + "description": "A type of use context assigned to the activity definition", "in": "query", "required": false, "schema": { @@ -907,8 +907,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the activity definition", + "name": "status", + "description": "The current status of the activity definition", "in": "query", "required": false, "schema": { @@ -916,8 +916,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "identifier", + "description": "External identifier for the activity definition", "in": "query", "required": false, "schema": { @@ -925,8 +925,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the activity definition", + "name": "composed-of", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -934,8 +934,8 @@ } }, { - "name": "status", - "description": "The current status of the activity definition", + "name": "successor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -943,7 +943,7 @@ } }, { - "name": "successor", + "name": "predecessor", "description": "What resource is being referenced", "in": "query", "required": false, @@ -952,8 +952,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the activity definition", + "name": "derived-from", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -961,8 +961,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the module", + "name": "depends-on", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -970,8 +970,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the activity definition", + "name": "context-type-value", + "description": "A use context type and value assigned to the activity definition", "in": "query", "required": false, "schema": { @@ -979,8 +979,8 @@ } }, { - "name": "version", - "description": "The business version of the activity definition", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the activity definition", "in": "query", "required": false, "schema": { @@ -988,8 +988,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the activity definition", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the activity definition", "in": "query", "required": false, "schema": { @@ -997,8 +997,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the activity definition", + "name": "url", + "description": "The uri that identifies the activity definition", "in": "query", "required": false, "schema": { @@ -1006,22 +1006,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -1219,8 +1219,8 @@ "operationId": "searchAdverseEvent", "parameters": [ { - "name": "actuality", - "description": "actual | potential", + "name": "date", + "description": "When the event occurred", "in": "query", "required": false, "schema": { @@ -1228,8 +1228,8 @@ } }, { - "name": "category", - "description": "product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment", + "name": "severity", + "description": "mild | moderate | severe", "in": "query", "required": false, "schema": { @@ -1237,8 +1237,8 @@ } }, { - "name": "date", - "description": "When the event occurred", + "name": "actuality", + "description": "actual | potential", "in": "query", "required": false, "schema": { @@ -1246,8 +1246,8 @@ } }, { - "name": "event", - "description": "Type of the event itself in relation to the subject", + "name": "seriousness", + "description": "Seriousness of the event", "in": "query", "required": false, "schema": { @@ -1255,8 +1255,8 @@ } }, { - "name": "location", - "description": "Location where adverse event occurred", + "name": "category", + "description": "product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment", "in": "query", "required": false, "schema": { @@ -1264,8 +1264,8 @@ } }, { - "name": "recorder", - "description": "Who recorded the adverse event", + "name": "event", + "description": "Type of the event itself in relation to the subject", "in": "query", "required": false, "schema": { @@ -1273,8 +1273,8 @@ } }, { - "name": "resultingcondition", - "description": "Effect on the subject due to this event", + "name": "substance", + "description": "Refers to the specific entity that caused the adverse event", "in": "query", "required": false, "schema": { @@ -1282,8 +1282,8 @@ } }, { - "name": "seriousness", - "description": "Seriousness of the event", + "name": "subject", + "description": "Subject impacted by event", "in": "query", "required": false, "schema": { @@ -1291,8 +1291,8 @@ } }, { - "name": "severity", - "description": "mild | moderate | severe", + "name": "study", + "description": "AdverseEvent.study", "in": "query", "required": false, "schema": { @@ -1300,8 +1300,8 @@ } }, { - "name": "study", - "description": "AdverseEvent.study", + "name": "location", + "description": "Location where adverse event occurred", "in": "query", "required": false, "schema": { @@ -1309,8 +1309,8 @@ } }, { - "name": "subject", - "description": "Subject impacted by event", + "name": "recorder", + "description": "Who recorded the adverse event", "in": "query", "required": false, "schema": { @@ -1318,8 +1318,8 @@ } }, { - "name": "substance", - "description": "Refers to the specific entity that caused the adverse event", + "name": "resultingcondition", + "description": "Effect on the subject due to this event", "in": "query", "required": false, "schema": { @@ -1327,22 +1327,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -1540,8 +1540,8 @@ "operationId": "searchAllergyIntolerance", "parameters": [ { - "name": "asserter", - "description": "Source of the information about the allergy", + "name": "onset", + "description": "Date(/time) when manifestations showed", "in": "query", "required": false, "schema": { @@ -1549,8 +1549,8 @@ } }, { - "name": "category", - "description": "food | medication | environment | biologic", + "name": "last-date", + "description": "Date(/time) of last known occurrence of a reaction", "in": "query", "required": false, "schema": { @@ -1558,8 +1558,8 @@ } }, { - "name": "clinical-status", - "description": "active | inactive | resolved", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", "in": "query", "required": false, "schema": { @@ -1576,8 +1576,8 @@ } }, { - "name": "criticality", - "description": "low | high | unable-to-assess", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -1585,8 +1585,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", + "name": "clinical-status", + "description": "active | inactive | resolved", "in": "query", "required": false, "schema": { @@ -1594,8 +1594,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "category", + "description": "food | medication | environment | biologic", "in": "query", "required": false, "schema": { @@ -1603,8 +1603,8 @@ } }, { - "name": "last-date", - "description": "Date(/time) of last known occurrence of a reaction", + "name": "type", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", "in": "query", "required": false, "schema": { @@ -1612,8 +1612,8 @@ } }, { - "name": "manifestation", - "description": "Clinical symptoms/signs associated with the Event", + "name": "verification-status", + "description": "unconfirmed | confirmed | refuted | entered-in-error", "in": "query", "required": false, "schema": { @@ -1621,8 +1621,8 @@ } }, { - "name": "onset", - "description": "Date(/time) when manifestations showed", + "name": "route", + "description": "How the subject was exposed to the substance", "in": "query", "required": false, "schema": { @@ -1630,8 +1630,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "criticality", + "description": "low | high | unable-to-assess", "in": "query", "required": false, "schema": { @@ -1639,8 +1639,8 @@ } }, { - "name": "recorder", - "description": "Who recorded the sensitivity", + "name": "severity", + "description": "mild | moderate | severe (of event as a whole)", "in": "query", "required": false, "schema": { @@ -1648,8 +1648,8 @@ } }, { - "name": "route", - "description": "How the subject was exposed to the substance", + "name": "manifestation", + "description": "Clinical symptoms/signs associated with the Event", "in": "query", "required": false, "schema": { @@ -1657,8 +1657,8 @@ } }, { - "name": "severity", - "description": "mild | moderate | severe (of event as a whole)", + "name": "recorder", + "description": "Who recorded the sensitivity", "in": "query", "required": false, "schema": { @@ -1666,8 +1666,8 @@ } }, { - "name": "type", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -1675,8 +1675,8 @@ } }, { - "name": "verification-status", - "description": "unconfirmed | confirmed | refuted | entered-in-error", + "name": "asserter", + "description": "Source of the information about the allergy", "in": "query", "required": false, "schema": { @@ -1684,22 +1684,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -1897,8 +1897,8 @@ "operationId": "searchAppointment", "parameters": [ { - "name": "actor", - "description": "Any one of the individuals participating in the appointment", + "name": "date", + "description": "Appointment date/time.", "in": "query", "required": false, "schema": { @@ -1906,8 +1906,8 @@ } }, { - "name": "appointment-type", - "description": "The style of appointment or patient that has been booked in the slot (not service type)", + "name": "specialty", + "description": "The specialty of a practitioner that would be required to perform the service requested in this appointment", "in": "query", "required": false, "schema": { @@ -1915,8 +1915,8 @@ } }, { - "name": "based-on", - "description": "The service request this appointment is allocated to assess", + "name": "service-type", + "description": "The specific service that is to be performed during this appointment", "in": "query", "required": false, "schema": { @@ -1924,8 +1924,8 @@ } }, { - "name": "date", - "description": "Appointment date/time.", + "name": "part-status", + "description": "The Participation status of the subject, or other participant on the appointment. Can be used to locate participants that have not responded to meeting requests.", "in": "query", "required": false, "schema": { @@ -1933,8 +1933,8 @@ } }, { - "name": "identifier", - "description": "An Identifier of the Appointment", + "name": "appointment-type", + "description": "The style of appointment or patient that has been booked in the slot (not service type)", "in": "query", "required": false, "schema": { @@ -1942,8 +1942,8 @@ } }, { - "name": "location", - "description": "This location is listed in the participants of the appointment", + "name": "identifier", + "description": "An Identifier of the Appointment", "in": "query", "required": false, "schema": { @@ -1951,8 +1951,8 @@ } }, { - "name": "part-status", - "description": "The Participation status of the subject, or other participant on the appointment. Can be used to locate participants that have not responded to meeting requests.", + "name": "service-category", + "description": "A broad categorization of the service that is to be performed during this appointment", "in": "query", "required": false, "schema": { @@ -1960,8 +1960,8 @@ } }, { - "name": "patient", - "description": "One of the individuals of the appointment is this patient", + "name": "status", + "description": "The overall status of the appointment", "in": "query", "required": false, "schema": { @@ -1969,8 +1969,8 @@ } }, { - "name": "practitioner", - "description": "One of the individuals of the appointment is this practitioner", + "name": "reason-code", + "description": "Coded reason this appointment is scheduled", "in": "query", "required": false, "schema": { @@ -1978,8 +1978,8 @@ } }, { - "name": "reason-code", - "description": "Coded reason this appointment is scheduled", + "name": "supporting-info", + "description": "Additional information to support the appointment", "in": "query", "required": false, "schema": { @@ -1987,8 +1987,8 @@ } }, { - "name": "reason-reference", - "description": "Reason the appointment is to take place (resource)", + "name": "practitioner", + "description": "One of the individuals of the appointment is this practitioner", "in": "query", "required": false, "schema": { @@ -1996,8 +1996,8 @@ } }, { - "name": "service-category", - "description": "A broad categorization of the service that is to be performed during this appointment", + "name": "reason-reference", + "description": "Reason the appointment is to take place (resource)", "in": "query", "required": false, "schema": { @@ -2005,8 +2005,8 @@ } }, { - "name": "service-type", - "description": "The specific service that is to be performed during this appointment", + "name": "location", + "description": "This location is listed in the participants of the appointment", "in": "query", "required": false, "schema": { @@ -2014,8 +2014,8 @@ } }, { - "name": "slot", - "description": "The slots that this appointment is filling", + "name": "patient", + "description": "One of the individuals of the appointment is this patient", "in": "query", "required": false, "schema": { @@ -2023,8 +2023,8 @@ } }, { - "name": "specialty", - "description": "The specialty of a practitioner that would be required to perform the service requested in this appointment", + "name": "actor", + "description": "Any one of the individuals participating in the appointment", "in": "query", "required": false, "schema": { @@ -2032,8 +2032,8 @@ } }, { - "name": "status", - "description": "The overall status of the appointment", + "name": "slot", + "description": "The slots that this appointment is filling", "in": "query", "required": false, "schema": { @@ -2041,8 +2041,8 @@ } }, { - "name": "supporting-info", - "description": "Additional information to support the appointment", + "name": "based-on", + "description": "The service request this appointment is allocated to assess", "in": "query", "required": false, "schema": { @@ -2050,22 +2050,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -2263,8 +2263,8 @@ "operationId": "searchAppointmentResponse", "parameters": [ { - "name": "actor", - "description": "The Person, Location/HealthcareService or Device that this appointment response replies for", + "name": "part-status", + "description": "The participants acceptance status for this appointment", "in": "query", "required": false, "schema": { @@ -2272,8 +2272,8 @@ } }, { - "name": "appointment", - "description": "The appointment that the response is attached to", + "name": "identifier", + "description": "An Identifier in this appointment response", "in": "query", "required": false, "schema": { @@ -2281,8 +2281,8 @@ } }, { - "name": "identifier", - "description": "An Identifier in this appointment response", + "name": "location", + "description": "This Response is for this Location", "in": "query", "required": false, "schema": { @@ -2290,8 +2290,8 @@ } }, { - "name": "location", - "description": "This Response is for this Location", + "name": "appointment", + "description": "The appointment that the response is attached to", "in": "query", "required": false, "schema": { @@ -2299,8 +2299,8 @@ } }, { - "name": "part-status", - "description": "The participants acceptance status for this appointment", + "name": "practitioner", + "description": "This Response is for this Practitioner", "in": "query", "required": false, "schema": { @@ -2308,8 +2308,8 @@ } }, { - "name": "patient", - "description": "This Response is for this Patient", + "name": "actor", + "description": "The Person, Location/HealthcareService or Device that this appointment response replies for", "in": "query", "required": false, "schema": { @@ -2317,8 +2317,8 @@ } }, { - "name": "practitioner", - "description": "This Response is for this Practitioner", + "name": "patient", + "description": "This Response is for this Patient", "in": "query", "required": false, "schema": { @@ -2326,22 +2326,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -2539,8 +2539,8 @@ "operationId": "searchAuditEvent", "parameters": [ { - "name": "action", - "description": "Type of action performed during the event", + "name": "date", + "description": "Time when the event was recorded", "in": "query", "required": false, "schema": { @@ -2548,8 +2548,8 @@ } }, { - "name": "address", - "description": "Identifier for the network access point of the user device", + "name": "entity-name", + "description": "Descriptor for entity", "in": "query", "required": false, "schema": { @@ -2557,8 +2557,8 @@ } }, { - "name": "agent", - "description": "Identifier of who", + "name": "address", + "description": "Identifier for the network access point of the user device", "in": "query", "required": false, "schema": { @@ -2575,8 +2575,8 @@ } }, { - "name": "agent-role", - "description": "Agent role in the event", + "name": "type", + "description": "Type/identifier of event", "in": "query", "required": false, "schema": { @@ -2584,8 +2584,8 @@ } }, { - "name": "altid", - "description": "Alternative User identity", + "name": "site", + "description": "Logical source location within the enterprise", "in": "query", "required": false, "schema": { @@ -2593,8 +2593,8 @@ } }, { - "name": "date", - "description": "Time when the event was recorded", + "name": "entity-role", + "description": "What role the entity played", "in": "query", "required": false, "schema": { @@ -2602,8 +2602,8 @@ } }, { - "name": "entity", - "description": "Specific instance of resource", + "name": "outcome", + "description": "Whether the event succeeded or failed", "in": "query", "required": false, "schema": { @@ -2611,8 +2611,8 @@ } }, { - "name": "entity-name", - "description": "Descriptor for entity", + "name": "altid", + "description": "Alternative User identity", "in": "query", "required": false, "schema": { @@ -2620,8 +2620,8 @@ } }, { - "name": "entity-role", - "description": "What role the entity played", + "name": "subtype", + "description": "More specific type/id for the event", "in": "query", "required": false, "schema": { @@ -2638,8 +2638,8 @@ } }, { - "name": "outcome", - "description": "Whether the event succeeded or failed", + "name": "action", + "description": "Type of action performed during the event", "in": "query", "required": false, "schema": { @@ -2647,8 +2647,8 @@ } }, { - "name": "patient", - "description": "Identifier of who", + "name": "agent-role", + "description": "Agent role in the event", "in": "query", "required": false, "schema": { @@ -2656,8 +2656,8 @@ } }, { - "name": "policy", - "description": "Policy that authorized event", + "name": "patient", + "description": "Identifier of who", "in": "query", "required": false, "schema": { @@ -2665,8 +2665,8 @@ } }, { - "name": "site", - "description": "Logical source location within the enterprise", + "name": "agent", + "description": "Identifier of who", "in": "query", "required": false, "schema": { @@ -2674,8 +2674,8 @@ } }, { - "name": "source", - "description": "The identity of source detecting the event", + "name": "entity", + "description": "Specific instance of resource", "in": "query", "required": false, "schema": { @@ -2683,8 +2683,8 @@ } }, { - "name": "subtype", - "description": "More specific type/id for the event", + "name": "source", + "description": "The identity of source detecting the event", "in": "query", "required": false, "schema": { @@ -2692,8 +2692,8 @@ } }, { - "name": "type", - "description": "Type/identifier of event", + "name": "policy", + "description": "Policy that authorized event", "in": "query", "required": false, "schema": { @@ -2701,22 +2701,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -2914,8 +2914,8 @@ "operationId": "searchBasic", "parameters": [ { - "name": "author", - "description": "Who created", + "name": "created", + "description": "When created", "in": "query", "required": false, "schema": { @@ -2932,8 +2932,8 @@ } }, { - "name": "created", - "description": "When created", + "name": "identifier", + "description": "Business identifier", "in": "query", "required": false, "schema": { @@ -2941,8 +2941,8 @@ } }, { - "name": "identifier", - "description": "Business identifier", + "name": "patient", + "description": "Identifies the focus of this resource", "in": "query", "required": false, "schema": { @@ -2950,7 +2950,7 @@ } }, { - "name": "patient", + "name": "subject", "description": "Identifies the focus of this resource", "in": "query", "required": false, @@ -2959,8 +2959,8 @@ } }, { - "name": "subject", - "description": "Identifies the focus of this resource", + "name": "author", + "description": "Who created", "in": "query", "required": false, "schema": { @@ -2968,22 +2968,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -3385,8 +3385,8 @@ } }, { - "name": "location", - "description": "Body site", + "name": "morphology", + "description": "Kind of Structure", "in": "query", "required": false, "schema": { @@ -3394,8 +3394,8 @@ } }, { - "name": "morphology", - "description": "Kind of Structure", + "name": "location", + "description": "Body site", "in": "query", "required": false, "schema": { @@ -3412,22 +3412,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -3625,8 +3625,8 @@ "operationId": "searchCapabilityStatement", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -3634,8 +3634,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -3643,8 +3643,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -3652,8 +3652,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -3661,8 +3661,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -3670,8 +3670,8 @@ } }, { - "name": "fhirversion", - "description": "The version of FHIR", + "name": "software", + "description": "Part of the name of a software application", "in": "query", "required": false, "schema": { @@ -3679,8 +3679,8 @@ } }, { - "name": "format", - "description": "formats supported (xml | json | ttl | mime type)", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -3688,8 +3688,8 @@ } }, { - "name": "guide", - "description": "Implementation guides supported", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -3706,8 +3706,8 @@ } }, { - "name": "mode", - "description": "Mode - restful (server/client) or messaging (sender/receiver)", + "name": "security-service", + "description": "OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates", "in": "query", "required": false, "schema": { @@ -3715,8 +3715,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "fhirversion", + "description": "The version of FHIR", "in": "query", "required": false, "schema": { @@ -3724,8 +3724,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -3733,8 +3733,8 @@ } }, { - "name": "resource", - "description": "Name of a resource mentioned in a capability statement", + "name": "mode", + "description": "Mode - restful (server/client) or messaging (sender/receiver)", "in": "query", "required": false, "schema": { @@ -3742,8 +3742,8 @@ } }, { - "name": "resource-profile", - "description": "A profile id invoked in a capability statement", + "name": "format", + "description": "formats supported (xml | json | ttl | mime type)", "in": "query", "required": false, "schema": { @@ -3751,8 +3751,8 @@ } }, { - "name": "security-service", - "description": "OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates", + "name": "resource", + "description": "Name of a resource mentioned in a capability statement", "in": "query", "required": false, "schema": { @@ -3760,8 +3760,8 @@ } }, { - "name": "software", - "description": "Part of the name of a software application", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -3769,8 +3769,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "guide", + "description": "Implementation guides supported", "in": "query", "required": false, "schema": { @@ -3778,8 +3778,8 @@ } }, { - "name": "supported-profile", - "description": "Profiles for use cases supported", + "name": "resource-profile", + "description": "A profile id invoked in a capability statement", "in": "query", "required": false, "schema": { @@ -3787,8 +3787,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "supported-profile", + "description": "Profiles for use cases supported", "in": "query", "required": false, "schema": { @@ -3796,8 +3796,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -3805,8 +3805,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -3814,8 +3814,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -3823,8 +3823,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -3832,22 +3832,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -4045,8 +4045,8 @@ "operationId": "searchCarePlan", "parameters": [ { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", + "name": "activity-date", + "description": "Specified date occurs within period specified by CarePlan.activity.detail.scheduled[x]", "in": "query", "required": false, "schema": { @@ -4054,8 +4054,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", "in": "query", "required": false, "schema": { @@ -4063,8 +4063,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "activity-code", + "description": "Detail type of activity", "in": "query", "required": false, "schema": { @@ -4072,8 +4072,8 @@ } }, { - "name": "activity-code", - "description": "Detail type of activity", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -4081,8 +4081,8 @@ } }, { - "name": "activity-date", - "description": "Specified date occurs within period specified by CarePlan.activity.detail.scheduled[x]", + "name": "intent", + "description": "proposal | plan | order | option", "in": "query", "required": false, "schema": { @@ -4090,8 +4090,8 @@ } }, { - "name": "activity-reference", - "description": "Activity details defined in specific resource", + "name": "category", + "description": "Type of plan", "in": "query", "required": false, "schema": { @@ -4099,8 +4099,8 @@ } }, { - "name": "based-on", - "description": "Fulfills CarePlan", + "name": "status", + "description": "draft | active | on-hold | revoked | completed | entered-in-error | unknown", "in": "query", "required": false, "schema": { @@ -4108,8 +4108,8 @@ } }, { - "name": "care-team", - "description": "Who's involved in plan?", + "name": "subject", + "description": "Who the care plan is for", "in": "query", "required": false, "schema": { @@ -4117,8 +4117,8 @@ } }, { - "name": "category", - "description": "Type of plan", + "name": "encounter", + "description": "Encounter created as part of", "in": "query", "required": false, "schema": { @@ -4126,8 +4126,8 @@ } }, { - "name": "condition", - "description": "Health issues this plan addresses", + "name": "goal", + "description": "Desired outcome of plan", "in": "query", "required": false, "schema": { @@ -4135,8 +4135,8 @@ } }, { - "name": "encounter", - "description": "Encounter created as part of", + "name": "replaces", + "description": "CarePlan replaced by this CarePlan", "in": "query", "required": false, "schema": { @@ -4144,8 +4144,8 @@ } }, { - "name": "goal", - "description": "Desired outcome of plan", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -4153,8 +4153,8 @@ } }, { - "name": "instantiates-canonical", - "description": "Instantiates FHIR protocol or definition", + "name": "based-on", + "description": "Fulfills CarePlan", "in": "query", "required": false, "schema": { @@ -4162,8 +4162,8 @@ } }, { - "name": "instantiates-uri", - "description": "Instantiates external protocol or definition", + "name": "care-team", + "description": "Who's involved in plan?", "in": "query", "required": false, "schema": { @@ -4171,8 +4171,8 @@ } }, { - "name": "intent", - "description": "proposal | plan | order | option", + "name": "activity-reference", + "description": "Activity details defined in specific resource", "in": "query", "required": false, "schema": { @@ -4180,8 +4180,8 @@ } }, { - "name": "part-of", - "description": "Part of referenced CarePlan", + "name": "performer", + "description": "Matches if the practitioner is listed as a performer in any of the \"simple\" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.)", "in": "query", "required": false, "schema": { @@ -4189,8 +4189,8 @@ } }, { - "name": "performer", - "description": "Matches if the practitioner is listed as a performer in any of the \"simple\" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.)", + "name": "part-of", + "description": "Part of referenced CarePlan", "in": "query", "required": false, "schema": { @@ -4198,8 +4198,8 @@ } }, { - "name": "replaces", - "description": "CarePlan replaced by this CarePlan", + "name": "instantiates-canonical", + "description": "Instantiates FHIR protocol or definition", "in": "query", "required": false, "schema": { @@ -4207,8 +4207,8 @@ } }, { - "name": "status", - "description": "draft | active | on-hold | revoked | completed | entered-in-error | unknown", + "name": "condition", + "description": "Health issues this plan addresses", "in": "query", "required": false, "schema": { @@ -4216,8 +4216,8 @@ } }, { - "name": "subject", - "description": "Who the care plan is for", + "name": "instantiates-uri", + "description": "Instantiates external protocol or definition", "in": "query", "required": false, "schema": { @@ -4225,22 +4225,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -4447,8 +4447,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "status", + "description": "proposed | active | suspended | inactive | entered-in-error", "in": "query", "required": false, "schema": { @@ -4456,8 +4456,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -4483,8 +4483,8 @@ } }, { - "name": "participant", - "description": "Who is involved", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -4492,8 +4492,8 @@ } }, { - "name": "status", - "description": "proposed | active | suspended | inactive | entered-in-error", + "name": "subject", + "description": "Who care team is for", "in": "query", "required": false, "schema": { @@ -4501,8 +4501,8 @@ } }, { - "name": "subject", - "description": "Who care team is for", + "name": "participant", + "description": "Who is involved", "in": "query", "required": false, "schema": { @@ -4510,22 +4510,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -4918,8 +4918,8 @@ "operationId": "searchChargeItem", "parameters": [ { - "name": "account", - "description": "Account to place this charge", + "name": "factor-override", + "description": "Factor overriding the associated rules", "in": "query", "required": false, "schema": { @@ -4927,8 +4927,8 @@ } }, { - "name": "code", - "description": "A code that identifies the charge, like a billing code", + "name": "occurrence", + "description": "When the charged service was applied", "in": "query", "required": false, "schema": { @@ -4936,8 +4936,8 @@ } }, { - "name": "context", - "description": "Encounter / Episode associated with event", + "name": "entered-date", + "description": "Date the charge item was entered", "in": "query", "required": false, "schema": { @@ -4945,8 +4945,8 @@ } }, { - "name": "entered-date", - "description": "Date the charge item was entered", + "name": "identifier", + "description": "Business Identifier for item", "in": "query", "required": false, "schema": { @@ -4954,8 +4954,8 @@ } }, { - "name": "enterer", - "description": "Individual who was entering", + "name": "performer-function", + "description": "What type of performance was done", "in": "query", "required": false, "schema": { @@ -4963,8 +4963,8 @@ } }, { - "name": "factor-override", - "description": "Factor overriding the associated rules", + "name": "code", + "description": "A code that identifies the charge, like a billing code", "in": "query", "required": false, "schema": { @@ -4972,8 +4972,8 @@ } }, { - "name": "identifier", - "description": "Business Identifier for item", + "name": "performer-actor", + "description": "Individual who was performing", "in": "query", "required": false, "schema": { @@ -4981,8 +4981,8 @@ } }, { - "name": "occurrence", - "description": "When the charged service was applied", + "name": "requesting-organization", + "description": "Organization requesting the charged service", "in": "query", "required": false, "schema": { @@ -4990,8 +4990,8 @@ } }, { - "name": "patient", - "description": "Individual service was done for/to", + "name": "service", + "description": "Which rendered service is being charged?", "in": "query", "required": false, "schema": { @@ -4999,8 +4999,8 @@ } }, { - "name": "performer-actor", - "description": "Individual who was performing", + "name": "account", + "description": "Account to place this charge", "in": "query", "required": false, "schema": { @@ -5008,8 +5008,8 @@ } }, { - "name": "performer-function", - "description": "What type of performance was done", + "name": "context", + "description": "Encounter / Episode associated with event", "in": "query", "required": false, "schema": { @@ -5017,8 +5017,8 @@ } }, { - "name": "performing-organization", - "description": "Organization providing the charged service", + "name": "subject", + "description": "Individual service was done for/to", "in": "query", "required": false, "schema": { @@ -5026,8 +5026,8 @@ } }, { - "name": "price-override", - "description": "Price overriding the associated rules", + "name": "enterer", + "description": "Individual who was entering", "in": "query", "required": false, "schema": { @@ -5035,8 +5035,8 @@ } }, { - "name": "quantity", - "description": "Quantity of which the charge item has been serviced", + "name": "patient", + "description": "Individual service was done for/to", "in": "query", "required": false, "schema": { @@ -5044,8 +5044,8 @@ } }, { - "name": "requesting-organization", - "description": "Organization requesting the charged service", + "name": "performing-organization", + "description": "Organization providing the charged service", "in": "query", "required": false, "schema": { @@ -5053,8 +5053,8 @@ } }, { - "name": "service", - "description": "Which rendered service is being charged?", + "name": "quantity", + "description": "Quantity of which the charge item has been serviced", "in": "query", "required": false, "schema": { @@ -5062,8 +5062,8 @@ } }, { - "name": "subject", - "description": "Individual service was done for/to", + "name": "price-override", + "description": "Price overriding the associated rules", "in": "query", "required": false, "schema": { @@ -5071,22 +5071,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -5284,8 +5284,8 @@ "operationId": "searchChargeItemDefinition", "parameters": [ { - "name": "context", - "description": "A use context assigned to the charge item definition", + "name": "effective", + "description": "The time during which the charge item definition is intended to be in use", "in": "query", "required": false, "schema": { @@ -5293,8 +5293,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the charge item definition", + "name": "date", + "description": "The charge item definition publication date", "in": "query", "required": false, "schema": { @@ -5302,8 +5302,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the charge item definition", + "name": "title", + "description": "The human-friendly name of the charge item definition", "in": "query", "required": false, "schema": { @@ -5311,8 +5311,8 @@ } }, { - "name": "date", - "description": "The charge item definition publication date", + "name": "description", + "description": "The description of the charge item definition", "in": "query", "required": false, "schema": { @@ -5320,8 +5320,8 @@ } }, { - "name": "description", - "description": "The description of the charge item definition", + "name": "publisher", + "description": "Name of the publisher of the charge item definition", "in": "query", "required": false, "schema": { @@ -5329,8 +5329,8 @@ } }, { - "name": "effective", - "description": "The time during which the charge item definition is intended to be in use", + "name": "context-type", + "description": "A type of use context assigned to the charge item definition", "in": "query", "required": false, "schema": { @@ -5338,8 +5338,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the charge item definition", + "name": "status", + "description": "The current status of the charge item definition", "in": "query", "required": false, "schema": { @@ -5347,8 +5347,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the charge item definition", + "name": "identifier", + "description": "External identifier for the charge item definition", "in": "query", "required": false, "schema": { @@ -5356,8 +5356,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the charge item definition", + "name": "jurisdiction", + "description": "Intended jurisdiction for the charge item definition", "in": "query", "required": false, "schema": { @@ -5365,8 +5365,8 @@ } }, { - "name": "status", - "description": "The current status of the charge item definition", + "name": "context", + "description": "A use context assigned to the charge item definition", "in": "query", "required": false, "schema": { @@ -5374,8 +5374,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the charge item definition", + "name": "version", + "description": "The business version of the charge item definition", "in": "query", "required": false, "schema": { @@ -5383,8 +5383,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the charge item definition", + "name": "context-type-value", + "description": "A use context type and value assigned to the charge item definition", "in": "query", "required": false, "schema": { @@ -5392,8 +5392,8 @@ } }, { - "name": "version", - "description": "The business version of the charge item definition", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the charge item definition", "in": "query", "required": false, "schema": { @@ -5401,8 +5401,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the charge item definition", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the charge item definition", "in": "query", "required": false, "schema": { @@ -5410,8 +5410,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the charge item definition", + "name": "url", + "description": "The uri that identifies the charge item definition", "in": "query", "required": false, "schema": { @@ -5419,22 +5419,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -5632,8 +5632,8 @@ "operationId": "searchClaim", "parameters": [ { - "name": "care-team", - "description": "Member of the CareTeam", + "name": "created", + "description": "The creation date for the Claim", "in": "query", "required": false, "schema": { @@ -5641,8 +5641,8 @@ } }, { - "name": "created", - "description": "The creation date for the Claim", + "name": "use", + "description": "The kind of financial resource", "in": "query", "required": false, "schema": { @@ -5650,8 +5650,8 @@ } }, { - "name": "detail-udi", - "description": "UDI associated with a line item, detail product or service", + "name": "identifier", + "description": "The primary identifier of the financial resource", "in": "query", "required": false, "schema": { @@ -5659,8 +5659,8 @@ } }, { - "name": "encounter", - "description": "Encounters associated with a billed line item", + "name": "priority", + "description": "Processing priority requested", "in": "query", "required": false, "schema": { @@ -5668,8 +5668,8 @@ } }, { - "name": "enterer", - "description": "The party responsible for the entry of the Claim", + "name": "status", + "description": "The status of the Claim instance.", "in": "query", "required": false, "schema": { @@ -5677,8 +5677,8 @@ } }, { - "name": "facility", - "description": "Facility where the products or services have been or will be provided", + "name": "encounter", + "description": "Encounters associated with a billed line item", "in": "query", "required": false, "schema": { @@ -5686,8 +5686,8 @@ } }, { - "name": "identifier", - "description": "The primary identifier of the financial resource", + "name": "patient", + "description": "Patient receiving the products or services", "in": "query", "required": false, "schema": { @@ -5695,8 +5695,8 @@ } }, { - "name": "insurer", - "description": "The target payor/insurer for the Claim", + "name": "subdetail-udi", + "description": "UDI associated with a line item, detail, subdetail product or service", "in": "query", "required": false, "schema": { @@ -5713,8 +5713,8 @@ } }, { - "name": "patient", - "description": "Patient receiving the products or services", + "name": "detail-udi", + "description": "UDI associated with a line item, detail product or service", "in": "query", "required": false, "schema": { @@ -5722,8 +5722,8 @@ } }, { - "name": "payee", - "description": "The party receiving any payment for the Claim", + "name": "procedure-udi", + "description": "UDI associated with a procedure", "in": "query", "required": false, "schema": { @@ -5731,8 +5731,8 @@ } }, { - "name": "priority", - "description": "Processing priority requested", + "name": "facility", + "description": "Facility where the products or services have been or will be provided", "in": "query", "required": false, "schema": { @@ -5740,8 +5740,8 @@ } }, { - "name": "procedure-udi", - "description": "UDI associated with a procedure", + "name": "provider", + "description": "Provider responsible for the Claim", "in": "query", "required": false, "schema": { @@ -5749,8 +5749,8 @@ } }, { - "name": "provider", - "description": "Provider responsible for the Claim", + "name": "payee", + "description": "The party receiving any payment for the Claim", "in": "query", "required": false, "schema": { @@ -5758,8 +5758,8 @@ } }, { - "name": "status", - "description": "The status of the Claim instance.", + "name": "enterer", + "description": "The party responsible for the entry of the Claim", "in": "query", "required": false, "schema": { @@ -5767,8 +5767,8 @@ } }, { - "name": "subdetail-udi", - "description": "UDI associated with a line item, detail, subdetail product or service", + "name": "care-team", + "description": "Member of the CareTeam", "in": "query", "required": false, "schema": { @@ -5776,8 +5776,8 @@ } }, { - "name": "use", - "description": "The kind of financial resource", + "name": "insurer", + "description": "The target payor/insurer for the Claim", "in": "query", "required": false, "schema": { @@ -5785,22 +5785,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -6007,8 +6007,8 @@ } }, { - "name": "disposition", - "description": "The contents of the disposition message", + "name": "payment-date", + "description": "The expected payment date", "in": "query", "required": false, "schema": { @@ -6016,8 +6016,8 @@ } }, { - "name": "identifier", - "description": "The identity of the ClaimResponse", + "name": "disposition", + "description": "The contents of the disposition message", "in": "query", "required": false, "schema": { @@ -6025,8 +6025,8 @@ } }, { - "name": "insurer", - "description": "The organization which generated this resource", + "name": "outcome", + "description": "The processing outcome", "in": "query", "required": false, "schema": { @@ -6034,8 +6034,8 @@ } }, { - "name": "outcome", - "description": "The processing outcome", + "name": "status", + "description": "The status of the ClaimResponse", "in": "query", "required": false, "schema": { @@ -6043,8 +6043,8 @@ } }, { - "name": "patient", - "description": "The subject of care", + "name": "identifier", + "description": "The identity of the ClaimResponse", "in": "query", "required": false, "schema": { @@ -6052,8 +6052,8 @@ } }, { - "name": "payment-date", - "description": "The expected payment date", + "name": "use", + "description": "The type of claim", "in": "query", "required": false, "schema": { @@ -6079,8 +6079,8 @@ } }, { - "name": "status", - "description": "The status of the ClaimResponse", + "name": "insurer", + "description": "The organization which generated this resource", "in": "query", "required": false, "schema": { @@ -6088,8 +6088,8 @@ } }, { - "name": "use", - "description": "The type of claim", + "name": "patient", + "description": "The subject of care", "in": "query", "required": false, "schema": { @@ -6097,22 +6097,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -6319,8 +6319,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "status", + "description": "in-progress | completed | entered-in-error", "in": "query", "required": false, "schema": { @@ -6328,8 +6328,8 @@ } }, { - "name": "assessor", - "description": "The clinician performing the assessment", + "name": "finding-code", + "description": "What was found", "in": "query", "required": false, "schema": { @@ -6337,8 +6337,8 @@ } }, { - "name": "encounter", - "description": "Encounter created as part of", + "name": "identifier", + "description": "Business identifier", "in": "query", "required": false, "schema": { @@ -6346,8 +6346,8 @@ } }, { - "name": "finding-code", - "description": "What was found", + "name": "supporting-info", + "description": "Information supporting the clinical impression", "in": "query", "required": false, "schema": { @@ -6355,8 +6355,8 @@ } }, { - "name": "finding-ref", - "description": "What was found", + "name": "assessor", + "description": "The clinician performing the assessment", "in": "query", "required": false, "schema": { @@ -6364,8 +6364,8 @@ } }, { - "name": "identifier", - "description": "Business identifier", + "name": "subject", + "description": "Patient or group assessed", "in": "query", "required": false, "schema": { @@ -6373,8 +6373,8 @@ } }, { - "name": "investigation", - "description": "Record of a specific investigation", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -6391,8 +6391,8 @@ } }, { - "name": "problem", - "description": "Relevant impressions of patient state", + "name": "investigation", + "description": "Record of a specific investigation", "in": "query", "required": false, "schema": { @@ -6400,8 +6400,8 @@ } }, { - "name": "status", - "description": "in-progress | completed | entered-in-error", + "name": "problem", + "description": "Relevant impressions of patient state", "in": "query", "required": false, "schema": { @@ -6409,8 +6409,8 @@ } }, { - "name": "subject", - "description": "Patient or group assessed", + "name": "finding-ref", + "description": "What was found", "in": "query", "required": false, "schema": { @@ -6418,8 +6418,8 @@ } }, { - "name": "supporting-info", - "description": "Information supporting the clinical impression", + "name": "encounter", + "description": "Encounter created as part of", "in": "query", "required": false, "schema": { @@ -6427,22 +6427,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -6640,8 +6640,8 @@ "operationId": "searchCodeSystem", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -6649,8 +6649,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -6658,8 +6658,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -6667,8 +6667,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -6676,8 +6676,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -6685,8 +6685,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -6694,8 +6694,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -6703,8 +6703,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -6712,8 +6712,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "content-mode", + "description": "not-present | example | fragment | complete | supplement", "in": "query", "required": false, "schema": { @@ -6721,8 +6721,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "code", + "description": "A code defined in the code system", "in": "query", "required": false, "schema": { @@ -6730,8 +6730,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -6739,8 +6739,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "language", + "description": "A language in which a designation is provided", "in": "query", "required": false, "schema": { @@ -6748,8 +6748,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -6757,8 +6757,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", "in": "query", "required": false, "schema": { @@ -6766,8 +6766,8 @@ } }, { - "name": "code", - "description": "A code defined in the code system", + "name": "supplements", + "description": "Find code system supplements for the referenced code system", "in": "query", "required": false, "schema": { @@ -6775,8 +6775,8 @@ } }, { - "name": "content-mode", - "description": "not-present | example | fragment | complete | supplement", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -6784,8 +6784,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -6793,8 +6793,8 @@ } }, { - "name": "language", - "description": "A language in which a designation is provided", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -6802,8 +6802,8 @@ } }, { - "name": "supplements", - "description": "Find code system supplements for the referenced code system", + "name": "system", + "description": "The system for any codes defined by this code system (same as 'url')", "in": "query", "required": false, "schema": { @@ -6811,8 +6811,8 @@ } }, { - "name": "system", - "description": "The system for any codes defined by this code system (same as 'url')", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -6820,22 +6820,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -7033,8 +7033,8 @@ "operationId": "searchCommunication", "parameters": [ { - "name": "based-on", - "description": "Request fulfilled by this communication", + "name": "received", + "description": "When received", "in": "query", "required": false, "schema": { @@ -7042,8 +7042,8 @@ } }, { - "name": "category", - "description": "Message category", + "name": "sent", + "description": "When sent", "in": "query", "required": false, "schema": { @@ -7051,8 +7051,8 @@ } }, { - "name": "encounter", - "description": "Encounter created as part of", + "name": "medium", + "description": "A channel of communication", "in": "query", "required": false, "schema": { @@ -7060,8 +7060,8 @@ } }, { - "name": "identifier", - "description": "Unique identifier", + "name": "status", + "description": "preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", "in": "query", "required": false, "schema": { @@ -7069,8 +7069,8 @@ } }, { - "name": "instantiates-canonical", - "description": "Instantiates FHIR protocol or definition", + "name": "identifier", + "description": "Unique identifier", "in": "query", "required": false, "schema": { @@ -7078,8 +7078,8 @@ } }, { - "name": "instantiates-uri", - "description": "Instantiates external protocol or definition", + "name": "category", + "description": "Message category", "in": "query", "required": false, "schema": { @@ -7087,8 +7087,8 @@ } }, { - "name": "medium", - "description": "A channel of communication", + "name": "part-of", + "description": "Part of this action", "in": "query", "required": false, "schema": { @@ -7096,8 +7096,8 @@ } }, { - "name": "part-of", - "description": "Part of this action", + "name": "sender", + "description": "Message sender", "in": "query", "required": false, "schema": { @@ -7114,8 +7114,8 @@ } }, { - "name": "received", - "description": "When received", + "name": "based-on", + "description": "Request fulfilled by this communication", "in": "query", "required": false, "schema": { @@ -7123,8 +7123,8 @@ } }, { - "name": "recipient", - "description": "Message recipient", + "name": "subject", + "description": "Focus of message", "in": "query", "required": false, "schema": { @@ -7132,8 +7132,8 @@ } }, { - "name": "sender", - "description": "Message sender", + "name": "recipient", + "description": "Message recipient", "in": "query", "required": false, "schema": { @@ -7141,8 +7141,8 @@ } }, { - "name": "sent", - "description": "When sent", + "name": "encounter", + "description": "Encounter created as part of", "in": "query", "required": false, "schema": { @@ -7150,8 +7150,8 @@ } }, { - "name": "status", - "description": "preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", + "name": "instantiates-canonical", + "description": "Instantiates FHIR protocol or definition", "in": "query", "required": false, "schema": { @@ -7159,8 +7159,8 @@ } }, { - "name": "subject", - "description": "Focus of message", + "name": "instantiates-uri", + "description": "Instantiates external protocol or definition", "in": "query", "required": false, "schema": { @@ -7168,22 +7168,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -7381,8 +7381,8 @@ "operationId": "searchCommunicationRequest", "parameters": [ { - "name": "authored", - "description": "When request transitioned to being actionable", + "name": "occurrence", + "description": "When scheduled", "in": "query", "required": false, "schema": { @@ -7390,8 +7390,8 @@ } }, { - "name": "based-on", - "description": "Fulfills plan or proposal", + "name": "authored", + "description": "When request transitioned to being actionable", "in": "query", "required": false, "schema": { @@ -7399,8 +7399,8 @@ } }, { - "name": "category", - "description": "Message category", + "name": "status", + "description": "draft | active | on-hold | revoked | completed | entered-in-error | unknown", "in": "query", "required": false, "schema": { @@ -7408,8 +7408,8 @@ } }, { - "name": "encounter", - "description": "Encounter created as part of", + "name": "group-identifier", + "description": "Composite request this is part of", "in": "query", "required": false, "schema": { @@ -7417,8 +7417,8 @@ } }, { - "name": "group-identifier", - "description": "Composite request this is part of", + "name": "category", + "description": "Message category", "in": "query", "required": false, "schema": { @@ -7444,8 +7444,8 @@ } }, { - "name": "occurrence", - "description": "When scheduled", + "name": "priority", + "description": "routine | urgent | asap | stat", "in": "query", "required": false, "schema": { @@ -7453,8 +7453,8 @@ } }, { - "name": "patient", - "description": "Focus of message", + "name": "encounter", + "description": "Encounter created as part of", "in": "query", "required": false, "schema": { @@ -7462,8 +7462,8 @@ } }, { - "name": "priority", - "description": "routine | urgent | asap | stat", + "name": "patient", + "description": "Focus of message", "in": "query", "required": false, "schema": { @@ -7471,8 +7471,8 @@ } }, { - "name": "recipient", - "description": "Message recipient", + "name": "sender", + "description": "Message sender", "in": "query", "required": false, "schema": { @@ -7480,8 +7480,8 @@ } }, { - "name": "replaces", - "description": "Request(s) replaced by this request", + "name": "recipient", + "description": "Message recipient", "in": "query", "required": false, "schema": { @@ -7489,8 +7489,8 @@ } }, { - "name": "requester", - "description": "Who/what is requesting service", + "name": "subject", + "description": "Focus of message", "in": "query", "required": false, "schema": { @@ -7498,8 +7498,8 @@ } }, { - "name": "sender", - "description": "Message sender", + "name": "replaces", + "description": "Request(s) replaced by this request", "in": "query", "required": false, "schema": { @@ -7507,8 +7507,8 @@ } }, { - "name": "status", - "description": "draft | active | on-hold | revoked | completed | entered-in-error | unknown", + "name": "based-on", + "description": "Fulfills plan or proposal", "in": "query", "required": false, "schema": { @@ -7516,8 +7516,8 @@ } }, { - "name": "subject", - "description": "Focus of message", + "name": "requester", + "description": "Who/what is requesting service", "in": "query", "required": false, "schema": { @@ -7525,22 +7525,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -7738,8 +7738,8 @@ "operationId": "searchCompartmentDefinition", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -7747,8 +7747,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -7756,8 +7756,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -7765,8 +7765,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -7774,8 +7774,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -7783,8 +7783,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -7792,8 +7792,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "code", + "description": "Patient | Encounter | RelatedPerson | Practitioner | Device", "in": "query", "required": false, "schema": { @@ -7801,8 +7801,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -7810,8 +7810,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "resource", + "description": "Name of resource type", "in": "query", "required": false, "schema": { @@ -7828,8 +7828,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -7837,8 +7837,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -7846,8 +7846,8 @@ } }, { - "name": "code", - "description": "Patient | Encounter | RelatedPerson | Practitioner | Device", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -7855,8 +7855,8 @@ } }, { - "name": "resource", - "description": "Name of resource type", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -7864,22 +7864,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -8077,44 +8077,8 @@ "operationId": "searchComposition", "parameters": [ { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "type", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "attester", - "description": "Who attested the composition", + "name": "period", + "description": "The period covered by the documentation", "in": "query", "required": false, "schema": { @@ -8122,8 +8086,8 @@ } }, { - "name": "author", - "description": "Who and/or what authored the composition", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", "in": "query", "required": false, "schema": { @@ -8131,8 +8095,8 @@ } }, { - "name": "category", - "description": "Categorization of Composition", + "name": "title", + "description": "Human Readable name/title", "in": "query", "required": false, "schema": { @@ -8158,17 +8122,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "entry", - "description": "A reference to data that supports this section", + "name": "category", + "description": "Categorization of Composition", "in": "query", "required": false, "schema": { @@ -8176,8 +8131,8 @@ } }, { - "name": "period", - "description": "The period covered by the documentation", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -8194,8 +8149,8 @@ } }, { - "name": "related-ref", - "description": "Target of the relationship", + "name": "type", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", "in": "query", "required": false, "schema": { @@ -8230,8 +8185,8 @@ } }, { - "name": "title", - "description": "Human Readable name/title", + "name": "attester", + "description": "Who attested the composition", "in": "query", "required": false, "schema": { @@ -8239,22 +8194,67 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "name": "entry", + "description": "A reference to data that supports this section", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "name": "related-ref", + "description": "Target of the relationship", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/_profileParam" + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "author", + "description": "Who and/or what authored the composition", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/_lastUpdatedParam" }, { "$ref": "#/components/parameters/_securityParam" }, + { + "$ref": "#/components/parameters/_tagParam" + }, + { + "$ref": "#/components/parameters/_idParam" + }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -8452,8 +8452,8 @@ "operationId": "searchConceptMap", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -8461,8 +8461,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -8470,8 +8470,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -8479,8 +8479,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -8488,8 +8488,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -8497,8 +8497,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -8506,8 +8506,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -8515,8 +8515,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -8524,8 +8524,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -8533,8 +8533,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "source-code", + "description": "Identifies element being mapped", "in": "query", "required": false, "schema": { @@ -8542,8 +8542,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "target-code", + "description": "Code that identifies the target element", "in": "query", "required": false, "schema": { @@ -8560,8 +8560,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", "in": "query", "required": false, "schema": { @@ -8569,8 +8569,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "source", + "description": "The source value set that contains the concepts that are being mapped", "in": "query", "required": false, "schema": { @@ -8578,8 +8578,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", + "name": "target-uri", + "description": "The target value set which provides context for the mappings", "in": "query", "required": false, "schema": { @@ -8587,8 +8587,8 @@ } }, { - "name": "dependson", - "description": "Reference to property mapping depends on", + "name": "source-uri", + "description": "The source value set that contains the concepts that are being mapped", "in": "query", "required": false, "schema": { @@ -8596,8 +8596,8 @@ } }, { - "name": "other", - "description": "canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped", + "name": "target", + "description": "The target value set which provides context for the mappings", "in": "query", "required": false, "schema": { @@ -8605,8 +8605,8 @@ } }, { - "name": "product", - "description": "Reference to property mapping depends on", + "name": "other", + "description": "canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped", "in": "query", "required": false, "schema": { @@ -8614,8 +8614,8 @@ } }, { - "name": "source", - "description": "The source value set that contains the concepts that are being mapped", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -8623,8 +8623,8 @@ } }, { - "name": "source-code", - "description": "Identifies element being mapped", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -8632,8 +8632,8 @@ } }, { - "name": "source-system", - "description": "Source system where concepts to be mapped are defined", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -8641,8 +8641,8 @@ } }, { - "name": "source-uri", - "description": "The source value set that contains the concepts that are being mapped", + "name": "target-system", + "description": "Target system that the concepts are to be mapped to", "in": "query", "required": false, "schema": { @@ -8650,8 +8650,8 @@ } }, { - "name": "target", - "description": "The target value set which provides context for the mappings", + "name": "source-system", + "description": "Source system where concepts to be mapped are defined", "in": "query", "required": false, "schema": { @@ -8659,8 +8659,8 @@ } }, { - "name": "target-code", - "description": "Code that identifies the target element", + "name": "product", + "description": "Reference to property mapping depends on", "in": "query", "required": false, "schema": { @@ -8668,8 +8668,8 @@ } }, { - "name": "target-system", - "description": "Target system that the concepts are to be mapped to", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -8677,8 +8677,8 @@ } }, { - "name": "target-uri", - "description": "The target value set which provides context for the mappings", + "name": "dependson", + "description": "Reference to property mapping depends on", "in": "query", "required": false, "schema": { @@ -8686,22 +8686,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -8899,8 +8899,8 @@ "operationId": "searchCondition", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "recorded-date", + "description": "Date record was first recorded", "in": "query", "required": false, "schema": { @@ -8908,8 +8908,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "abatement-date", + "description": "Date-related abatements (dateTime and period)", "in": "query", "required": false, "schema": { @@ -8917,8 +8917,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "onset-date", + "description": "Date related onsets (dateTime and Period)", "in": "query", "required": false, "schema": { @@ -8926,8 +8926,8 @@ } }, { - "name": "abatement-age", - "description": "Abatement as age or age range", + "name": "abatement-string", + "description": "Abatement as a string", "in": "query", "required": false, "schema": { @@ -8935,8 +8935,8 @@ } }, { - "name": "abatement-date", - "description": "Date-related abatements (dateTime and period)", + "name": "onset-info", + "description": "Onsets as a string", "in": "query", "required": false, "schema": { @@ -8944,8 +8944,8 @@ } }, { - "name": "abatement-string", - "description": "Abatement as a string", + "name": "clinical-status", + "description": "The clinical status of the condition", "in": "query", "required": false, "schema": { @@ -8953,8 +8953,8 @@ } }, { - "name": "asserter", - "description": "Person who asserts this condition", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -8962,8 +8962,8 @@ } }, { - "name": "body-site", - "description": "Anatomical location, if relevant", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -8980,8 +8980,8 @@ } }, { - "name": "clinical-status", - "description": "The clinical status of the condition", + "name": "stage", + "description": "Simple summary (disease specific)", "in": "query", "required": false, "schema": { @@ -8989,8 +8989,8 @@ } }, { - "name": "encounter", - "description": "Encounter created as part of", + "name": "body-site", + "description": "Anatomical location, if relevant", "in": "query", "required": false, "schema": { @@ -8998,8 +8998,8 @@ } }, { - "name": "evidence", - "description": "Manifestation/symptom", + "name": "severity", + "description": "The severity of the condition", "in": "query", "required": false, "schema": { @@ -9007,8 +9007,8 @@ } }, { - "name": "evidence-detail", - "description": "Supporting information found elsewhere", + "name": "evidence", + "description": "Manifestation/symptom", "in": "query", "required": false, "schema": { @@ -9016,8 +9016,8 @@ } }, { - "name": "onset-age", - "description": "Onsets as age or age range", + "name": "verification-status", + "description": "unconfirmed | provisional | differential | confirmed | refuted | entered-in-error", "in": "query", "required": false, "schema": { @@ -9025,8 +9025,8 @@ } }, { - "name": "onset-date", - "description": "Date related onsets (dateTime and Period)", + "name": "evidence-detail", + "description": "Supporting information found elsewhere", "in": "query", "required": false, "schema": { @@ -9034,8 +9034,8 @@ } }, { - "name": "onset-info", - "description": "Onsets as a string", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -9043,8 +9043,8 @@ } }, { - "name": "recorded-date", - "description": "Date record was first recorded", + "name": "asserter", + "description": "Person who asserts this condition", "in": "query", "required": false, "schema": { @@ -9052,8 +9052,8 @@ } }, { - "name": "severity", - "description": "The severity of the condition", + "name": "subject", + "description": "Who has the condition?", "in": "query", "required": false, "schema": { @@ -9061,8 +9061,8 @@ } }, { - "name": "stage", - "description": "Simple summary (disease specific)", + "name": "encounter", + "description": "Encounter created as part of", "in": "query", "required": false, "schema": { @@ -9070,8 +9070,8 @@ } }, { - "name": "subject", - "description": "Who has the condition?", + "name": "abatement-age", + "description": "Abatement as age or age range", "in": "query", "required": false, "schema": { @@ -9079,8 +9079,8 @@ } }, { - "name": "verification-status", - "description": "unconfirmed | provisional | differential | confirmed | refuted | entered-in-error", + "name": "onset-age", + "description": "Onsets as age or age range", "in": "query", "required": false, "schema": { @@ -9088,22 +9088,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -9310,8 +9310,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "period", + "description": "Timeframe for this rule", "in": "query", "required": false, "schema": { @@ -9319,8 +9319,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "status", + "description": "draft | proposed | active | rejected | inactive | entered-in-error", "in": "query", "required": false, "schema": { @@ -9328,8 +9328,8 @@ } }, { - "name": "action", - "description": "Actions controlled by this rule", + "name": "scope", + "description": "Which of the four areas this resource covers (extensible)", "in": "query", "required": false, "schema": { @@ -9337,8 +9337,8 @@ } }, { - "name": "actor", - "description": "Resource for the actor (or group, by role)", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -9355,8 +9355,8 @@ } }, { - "name": "consentor", - "description": "Who is agreeing to the policy and rules", + "name": "security-label", + "description": "Security Labels that define affected resources", "in": "query", "required": false, "schema": { @@ -9364,8 +9364,8 @@ } }, { - "name": "data", - "description": "The actual data reference", + "name": "purpose", + "description": "Context of activities covered by this rule", "in": "query", "required": false, "schema": { @@ -9373,8 +9373,8 @@ } }, { - "name": "organization", - "description": "Custodian of the consent", + "name": "action", + "description": "Actions controlled by this rule", "in": "query", "required": false, "schema": { @@ -9382,8 +9382,8 @@ } }, { - "name": "period", - "description": "Timeframe for this rule", + "name": "organization", + "description": "Custodian of the consent", "in": "query", "required": false, "schema": { @@ -9391,8 +9391,8 @@ } }, { - "name": "purpose", - "description": "Context of activities covered by this rule", + "name": "data", + "description": "The actual data reference", "in": "query", "required": false, "schema": { @@ -9400,8 +9400,8 @@ } }, { - "name": "scope", - "description": "Which of the four areas this resource covers (extensible)", + "name": "source-reference", + "description": "Search by reference to a Consent, DocumentReference, Contract or QuestionnaireResponse", "in": "query", "required": false, "schema": { @@ -9409,8 +9409,8 @@ } }, { - "name": "security-label", - "description": "Security Labels that define affected resources", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -9418,8 +9418,8 @@ } }, { - "name": "source-reference", - "description": "Search by reference to a Consent, DocumentReference, Contract or QuestionnaireResponse", + "name": "consentor", + "description": "Who is agreeing to the policy and rules", "in": "query", "required": false, "schema": { @@ -9427,8 +9427,8 @@ } }, { - "name": "status", - "description": "draft | proposed | active | rejected | inactive | entered-in-error", + "name": "actor", + "description": "Resource for the actor (or group, by role)", "in": "query", "required": false, "schema": { @@ -9436,22 +9436,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -9649,17 +9649,8 @@ "operationId": "searchContract", "parameters": [ { - "name": "authority", - "description": "The authority of the contract", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "domain", - "description": "The domain of the contract", + "name": "issued", + "description": "The date/time the contract was issued", "in": "query", "required": false, "schema": { @@ -9676,8 +9667,8 @@ } }, { - "name": "instantiates", - "description": "A source definition of the contract", + "name": "status", + "description": "The status of the contract", "in": "query", "required": false, "schema": { @@ -9685,8 +9676,8 @@ } }, { - "name": "issued", - "description": "The date/time the contract was issued", + "name": "patient", + "description": "The identity of the subject of the contract (if a patient)", "in": "query", "required": false, "schema": { @@ -9694,8 +9685,8 @@ } }, { - "name": "patient", - "description": "The identity of the subject of the contract (if a patient)", + "name": "domain", + "description": "The domain of the contract", "in": "query", "required": false, "schema": { @@ -9712,8 +9703,8 @@ } }, { - "name": "status", - "description": "The status of the contract", + "name": "authority", + "description": "The authority of the contract", "in": "query", "required": false, "schema": { @@ -9739,22 +9730,31 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "name": "instantiates", + "description": "A source definition of the contract", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_tagParam" + }, + { + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -9952,8 +9952,8 @@ "operationId": "searchCoverage", "parameters": [ { - "name": "beneficiary", - "description": "Covered party", + "name": "dependent", + "description": "Dependent number", "in": "query", "required": false, "schema": { @@ -9961,8 +9961,8 @@ } }, { - "name": "class-type", - "description": "Coverage class (eg. plan, group)", + "name": "class-value", + "description": "Value of the class (eg. Plan number, group number)", "in": "query", "required": false, "schema": { @@ -9970,8 +9970,8 @@ } }, { - "name": "class-value", - "description": "Value of the class (eg. Plan number, group number)", + "name": "status", + "description": "The status of the Coverage", "in": "query", "required": false, "schema": { @@ -9979,8 +9979,8 @@ } }, { - "name": "dependent", - "description": "Dependent number", + "name": "type", + "description": "The kind of coverage (health plan, auto, Workers Compensation)", "in": "query", "required": false, "schema": { @@ -9988,8 +9988,8 @@ } }, { - "name": "identifier", - "description": "The primary identifier of the insured and the coverage", + "name": "class-type", + "description": "Coverage class (eg. plan, group)", "in": "query", "required": false, "schema": { @@ -9997,8 +9997,8 @@ } }, { - "name": "patient", - "description": "Retrieve coverages for a patient", + "name": "identifier", + "description": "The primary identifier of the insured and the coverage", "in": "query", "required": false, "schema": { @@ -10006,8 +10006,8 @@ } }, { - "name": "payor", - "description": "The identity of the insurer or party paying for services", + "name": "beneficiary", + "description": "Covered party", "in": "query", "required": false, "schema": { @@ -10015,8 +10015,8 @@ } }, { - "name": "policy-holder", - "description": "Reference to the policyholder", + "name": "patient", + "description": "Retrieve coverages for a patient", "in": "query", "required": false, "schema": { @@ -10024,8 +10024,8 @@ } }, { - "name": "status", - "description": "The status of the Coverage", + "name": "payor", + "description": "The identity of the insurer or party paying for services", "in": "query", "required": false, "schema": { @@ -10033,8 +10033,8 @@ } }, { - "name": "subscriber", - "description": "Reference to the subscriber", + "name": "policy-holder", + "description": "Reference to the policyholder", "in": "query", "required": false, "schema": { @@ -10042,8 +10042,8 @@ } }, { - "name": "type", - "description": "The kind of coverage (health plan, auto, Workers Compensation)", + "name": "subscriber", + "description": "Reference to the subscriber", "in": "query", "required": false, "schema": { @@ -10051,22 +10051,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -10273,8 +10273,8 @@ } }, { - "name": "enterer", - "description": "The party who is responsible for the request", + "name": "status", + "description": "The status of the EligibilityRequest", "in": "query", "required": false, "schema": { @@ -10282,8 +10282,8 @@ } }, { - "name": "facility", - "description": "Facility responsible for the goods and services", + "name": "identifier", + "description": "The business identifier of the Eligibility", "in": "query", "required": false, "schema": { @@ -10291,8 +10291,8 @@ } }, { - "name": "identifier", - "description": "The business identifier of the Eligibility", + "name": "enterer", + "description": "The party who is responsible for the request", "in": "query", "required": false, "schema": { @@ -10318,8 +10318,8 @@ } }, { - "name": "status", - "description": "The status of the EligibilityRequest", + "name": "facility", + "description": "Facility responsible for the goods and services", "in": "query", "required": false, "schema": { @@ -10327,22 +10327,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -10558,8 +10558,8 @@ } }, { - "name": "identifier", - "description": "The business identifier", + "name": "status", + "description": "The EligibilityRequest status", "in": "query", "required": false, "schema": { @@ -10567,8 +10567,8 @@ } }, { - "name": "insurer", - "description": "The organization which generated this resource", + "name": "outcome", + "description": "The processing outcome", "in": "query", "required": false, "schema": { @@ -10576,8 +10576,8 @@ } }, { - "name": "outcome", - "description": "The processing outcome", + "name": "identifier", + "description": "The business identifier", "in": "query", "required": false, "schema": { @@ -10594,8 +10594,8 @@ } }, { - "name": "request", - "description": "The EligibilityRequest reference", + "name": "insurer", + "description": "The organization which generated this resource", "in": "query", "required": false, "schema": { @@ -10612,8 +10612,8 @@ } }, { - "name": "status", - "description": "The EligibilityRequest status", + "name": "request", + "description": "The EligibilityRequest reference", "in": "query", "required": false, "schema": { @@ -10621,22 +10621,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -10834,8 +10834,8 @@ "operationId": "searchDetectedIssue", "parameters": [ { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "identified", + "description": "When identified", "in": "query", "required": false, "schema": { @@ -10843,8 +10843,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "code", + "description": "Issue Category, e.g. drug-drug, duplicate therapy, etc.", "in": "query", "required": false, "schema": { @@ -10852,8 +10852,8 @@ } }, { - "name": "author", - "description": "The provider or device that identified the issue", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -10861,8 +10861,8 @@ } }, { - "name": "code", - "description": "Issue Category, e.g. drug-drug, duplicate therapy, etc.", + "name": "implicated", + "description": "Problem resource", "in": "query", "required": false, "schema": { @@ -10870,8 +10870,8 @@ } }, { - "name": "identified", - "description": "When identified", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -10879,8 +10879,8 @@ } }, { - "name": "implicated", - "description": "Problem resource", + "name": "author", + "description": "The provider or device that identified the issue", "in": "query", "required": false, "schema": { @@ -10888,22 +10888,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -11101,8 +11101,8 @@ "operationId": "searchDevice", "parameters": [ { - "name": "device-name", - "description": "A server defined search that may match any of the string fields in Device.deviceName or Device.type.", + "name": "manufacturer", + "description": "The manufacturer of the device", "in": "query", "required": false, "schema": { @@ -11110,8 +11110,8 @@ } }, { - "name": "identifier", - "description": "Instance id from manufacturer, owner, and others", + "name": "udi-di", + "description": "The udi Device Identifier (DI)", "in": "query", "required": false, "schema": { @@ -11119,8 +11119,8 @@ } }, { - "name": "location", - "description": "A location, where the resource is found", + "name": "udi-carrier", + "description": "UDI Barcode (RFID or other technology) string in *HRF* format.", "in": "query", "required": false, "schema": { @@ -11128,8 +11128,8 @@ } }, { - "name": "manufacturer", - "description": "The manufacturer of the device", + "name": "model", + "description": "The model of the device", "in": "query", "required": false, "schema": { @@ -11137,8 +11137,8 @@ } }, { - "name": "model", - "description": "The model of the device", + "name": "device-name", + "description": "A server defined search that may match any of the string fields in Device.deviceName or Device.type.", "in": "query", "required": false, "schema": { @@ -11146,8 +11146,8 @@ } }, { - "name": "organization", - "description": "The organization responsible for the device", + "name": "status", + "description": "active | inactive | entered-in-error | unknown", "in": "query", "required": false, "schema": { @@ -11155,8 +11155,8 @@ } }, { - "name": "patient", - "description": "Patient information, if the resource is affixed to a person", + "name": "identifier", + "description": "Instance id from manufacturer, owner, and others", "in": "query", "required": false, "schema": { @@ -11164,8 +11164,8 @@ } }, { - "name": "status", - "description": "active | inactive | entered-in-error | unknown", + "name": "type", + "description": "The type of the device", "in": "query", "required": false, "schema": { @@ -11173,8 +11173,8 @@ } }, { - "name": "type", - "description": "The type of the device", + "name": "patient", + "description": "Patient information, if the resource is affixed to a person", "in": "query", "required": false, "schema": { @@ -11182,8 +11182,8 @@ } }, { - "name": "udi-carrier", - "description": "UDI Barcode (RFID or other technology) string in *HRF* format.", + "name": "organization", + "description": "The organization responsible for the device", "in": "query", "required": false, "schema": { @@ -11191,8 +11191,8 @@ } }, { - "name": "udi-di", - "description": "The udi Device Identifier (DI)", + "name": "location", + "description": "A location, where the resource is found", "in": "query", "required": false, "schema": { @@ -11209,22 +11209,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -11431,8 +11431,8 @@ } }, { - "name": "parent", - "description": "The parent DeviceDefinition resource", + "name": "type", + "description": "The device component type", "in": "query", "required": false, "schema": { @@ -11440,8 +11440,8 @@ } }, { - "name": "type", - "description": "The device component type", + "name": "parent", + "description": "The parent DeviceDefinition resource", "in": "query", "required": false, "schema": { @@ -11449,22 +11449,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -11662,8 +11662,8 @@ "operationId": "searchDeviceMetric", "parameters": [ { - "name": "category", - "description": "The category of the metric", + "name": "type", + "description": "The component type", "in": "query", "required": false, "schema": { @@ -11680,8 +11680,8 @@ } }, { - "name": "parent", - "description": "The parent DeviceMetric resource", + "name": "category", + "description": "The category of the metric", "in": "query", "required": false, "schema": { @@ -11698,8 +11698,8 @@ } }, { - "name": "type", - "description": "The component type", + "name": "parent", + "description": "The parent DeviceMetric resource", "in": "query", "required": false, "schema": { @@ -11707,22 +11707,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -11920,8 +11920,8 @@ "operationId": "searchDeviceRequest", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "authored-on", + "description": "When the request transitioned to being actionable", "in": "query", "required": false, "schema": { @@ -11929,8 +11929,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "event-date", + "description": "When service should occur", "in": "query", "required": false, "schema": { @@ -11938,8 +11938,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -11947,8 +11947,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -11956,8 +11956,8 @@ } }, { - "name": "authored-on", - "description": "When the request transitioned to being actionable", + "name": "status", + "description": "entered-in-error | draft | active |suspended | completed", "in": "query", "required": false, "schema": { @@ -11965,8 +11965,8 @@ } }, { - "name": "based-on", - "description": "Plan/proposal/order fulfilled by this request", + "name": "intent", + "description": "proposal | plan | original-order |reflex-order", "in": "query", "required": false, "schema": { @@ -11974,8 +11974,8 @@ } }, { - "name": "device", - "description": "Reference to resource that is being requested/ordered", + "name": "group-identifier", + "description": "Composite request this is part of", "in": "query", "required": false, "schema": { @@ -11983,8 +11983,8 @@ } }, { - "name": "event-date", - "description": "When service should occur", + "name": "requester", + "description": "Who/what is requesting service", "in": "query", "required": false, "schema": { @@ -11992,8 +11992,8 @@ } }, { - "name": "group-identifier", - "description": "Composite request this is part of", + "name": "based-on", + "description": "Plan/proposal/order fulfilled by this request", "in": "query", "required": false, "schema": { @@ -12001,8 +12001,8 @@ } }, { - "name": "instantiates-canonical", - "description": "Instantiates FHIR protocol or definition", + "name": "subject", + "description": "Individual the service is ordered for", "in": "query", "required": false, "schema": { @@ -12010,8 +12010,8 @@ } }, { - "name": "instantiates-uri", - "description": "Instantiates external protocol or definition", + "name": "device", + "description": "Reference to resource that is being requested/ordered", "in": "query", "required": false, "schema": { @@ -12019,8 +12019,8 @@ } }, { - "name": "insurance", - "description": "Associated insurance coverage", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -12028,8 +12028,8 @@ } }, { - "name": "intent", - "description": "proposal | plan | original-order |reflex-order", + "name": "insurance", + "description": "Associated insurance coverage", "in": "query", "required": false, "schema": { @@ -12046,8 +12046,8 @@ } }, { - "name": "prior-request", - "description": "Request takes the place of referenced completed or terminated requests", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -12055,8 +12055,8 @@ } }, { - "name": "requester", - "description": "Who/what is requesting service", + "name": "prior-request", + "description": "Request takes the place of referenced completed or terminated requests", "in": "query", "required": false, "schema": { @@ -12064,8 +12064,8 @@ } }, { - "name": "status", - "description": "entered-in-error | draft | active |suspended | completed", + "name": "instantiates-canonical", + "description": "Instantiates FHIR protocol or definition", "in": "query", "required": false, "schema": { @@ -12073,8 +12073,8 @@ } }, { - "name": "subject", - "description": "Individual the service is ordered for", + "name": "instantiates-uri", + "description": "Instantiates external protocol or definition", "in": "query", "required": false, "schema": { @@ -12082,22 +12082,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -12295,8 +12295,8 @@ "operationId": "searchDeviceUseStatement", "parameters": [ { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "identifier", + "description": "Search by identifier", "in": "query", "required": false, "schema": { @@ -12304,8 +12304,8 @@ } }, { - "name": "device", - "description": "Search by device", + "name": "subject", + "description": "Search by subject", "in": "query", "required": false, "schema": { @@ -12313,8 +12313,8 @@ } }, { - "name": "identifier", - "description": "Search by identifier", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -12322,8 +12322,8 @@ } }, { - "name": "subject", - "description": "Search by subject", + "name": "device", + "description": "Search by device", "in": "query", "required": false, "schema": { @@ -12331,22 +12331,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -12544,8 +12544,8 @@ "operationId": "searchDiagnosticReport", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "issued", + "description": "When the report was issued", "in": "query", "required": false, "schema": { @@ -12562,8 +12562,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -12571,8 +12571,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -12580,8 +12580,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "conclusion", + "description": "A coded conclusion (interpretation/impression) on the report", "in": "query", "required": false, "schema": { @@ -12589,8 +12589,8 @@ } }, { - "name": "based-on", - "description": "Reference to the service request.", + "name": "category", + "description": "Which diagnostic discipline/department created the report", "in": "query", "required": false, "schema": { @@ -12598,8 +12598,8 @@ } }, { - "name": "category", - "description": "Which diagnostic discipline/department created the report", + "name": "status", + "description": "The status of the report", "in": "query", "required": false, "schema": { @@ -12607,8 +12607,8 @@ } }, { - "name": "conclusion", - "description": "A coded conclusion (interpretation/impression) on the report", + "name": "result", + "description": "Link to an atomic result (observation resource)", "in": "query", "required": false, "schema": { @@ -12616,8 +12616,8 @@ } }, { - "name": "issued", - "description": "When the report was issued", + "name": "based-on", + "description": "Reference to the service request.", "in": "query", "required": false, "schema": { @@ -12625,8 +12625,8 @@ } }, { - "name": "media", - "description": "A reference to the image source.", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -12634,8 +12634,8 @@ } }, { - "name": "performer", - "description": "Who is responsible for the report", + "name": "specimen", + "description": "The specimen details", "in": "query", "required": false, "schema": { @@ -12643,8 +12643,8 @@ } }, { - "name": "result", - "description": "Link to an atomic result (observation resource)", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -12652,8 +12652,8 @@ } }, { - "name": "results-interpreter", - "description": "Who was the source of the report", + "name": "subject", + "description": "The subject of the report", "in": "query", "required": false, "schema": { @@ -12661,8 +12661,8 @@ } }, { - "name": "specimen", - "description": "The specimen details", + "name": "results-interpreter", + "description": "Who was the source of the report", "in": "query", "required": false, "schema": { @@ -12670,8 +12670,8 @@ } }, { - "name": "status", - "description": "The status of the report", + "name": "media", + "description": "A reference to the image source.", "in": "query", "required": false, "schema": { @@ -12679,8 +12679,8 @@ } }, { - "name": "subject", - "description": "The subject of the report", + "name": "performer", + "description": "Who is responsible for the report", "in": "query", "required": false, "schema": { @@ -12688,22 +12688,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -12901,8 +12901,8 @@ "operationId": "searchDocumentManifest", "parameters": [ { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "created", + "description": "When this document manifest created", "in": "query", "required": false, "schema": { @@ -12910,8 +12910,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "description", + "description": "Human-readable description (title)", "in": "query", "required": false, "schema": { @@ -12919,8 +12919,8 @@ } }, { - "name": "type", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -12928,8 +12928,8 @@ } }, { - "name": "author", - "description": "Who and/or what authored the DocumentManifest", + "name": "type", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", "in": "query", "required": false, "schema": { @@ -12937,8 +12937,8 @@ } }, { - "name": "created", - "description": "When this document manifest created", + "name": "related-id", + "description": "Identifiers of things that are related", "in": "query", "required": false, "schema": { @@ -12946,8 +12946,8 @@ } }, { - "name": "description", - "description": "Human-readable description (title)", + "name": "status", + "description": "current | superseded | entered-in-error", "in": "query", "required": false, "schema": { @@ -12955,8 +12955,8 @@ } }, { - "name": "item", - "description": "Items in manifest", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -12964,8 +12964,8 @@ } }, { - "name": "recipient", - "description": "Intended to get notified about this set of documents", + "name": "subject", + "description": "The subject of the set of documents", "in": "query", "required": false, "schema": { @@ -12973,8 +12973,8 @@ } }, { - "name": "related-id", - "description": "Identifiers of things that are related", + "name": "related-ref", + "description": "Related Resource", "in": "query", "required": false, "schema": { @@ -12982,8 +12982,8 @@ } }, { - "name": "related-ref", - "description": "Related Resource", + "name": "item", + "description": "Items in manifest", "in": "query", "required": false, "schema": { @@ -12991,8 +12991,8 @@ } }, { - "name": "source", - "description": "The source system/application/software", + "name": "author", + "description": "Who and/or what authored the DocumentManifest", "in": "query", "required": false, "schema": { @@ -13000,8 +13000,8 @@ } }, { - "name": "status", - "description": "current | superseded | entered-in-error", + "name": "recipient", + "description": "Intended to get notified about this set of documents", "in": "query", "required": false, "schema": { @@ -13009,8 +13009,8 @@ } }, { - "name": "subject", - "description": "The subject of the set of documents", + "name": "source", + "description": "The source system/application/software", "in": "query", "required": false, "schema": { @@ -13018,22 +13018,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -13231,8 +13231,8 @@ "operationId": "searchDocumentReference", "parameters": [ { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "period", + "description": "Time of service that is being documented", "in": "query", "required": false, "schema": { @@ -13240,8 +13240,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "date", + "description": "When this document reference was created", "in": "query", "required": false, "schema": { @@ -13249,8 +13249,8 @@ } }, { - "name": "type", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", + "name": "description", + "description": "Human-readable description", "in": "query", "required": false, "schema": { @@ -13258,8 +13258,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "category", + "description": "Categorization of document", "in": "query", "required": false, "schema": { @@ -13267,8 +13267,8 @@ } }, { - "name": "authenticator", - "description": "Who/what authenticated the document", + "name": "facility", + "description": "Kind of facility where patient was seen", "in": "query", "required": false, "schema": { @@ -13276,8 +13276,8 @@ } }, { - "name": "author", - "description": "Who and/or what authored the document", + "name": "relation", + "description": "replaces | transforms | signs | appends", "in": "query", "required": false, "schema": { @@ -13285,8 +13285,8 @@ } }, { - "name": "category", - "description": "Categorization of document", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -13303,8 +13303,8 @@ } }, { - "name": "custodian", - "description": "Organization which maintains the document", + "name": "security-label", + "description": "Document security-tags", "in": "query", "required": false, "schema": { @@ -13312,8 +13312,8 @@ } }, { - "name": "date", - "description": "When this document reference was created", + "name": "event", + "description": "Main clinical acts documented", "in": "query", "required": false, "schema": { @@ -13321,8 +13321,8 @@ } }, { - "name": "description", - "description": "Human-readable description", + "name": "format", + "description": "Format/content rules for the document", "in": "query", "required": false, "schema": { @@ -13330,8 +13330,8 @@ } }, { - "name": "event", - "description": "Main clinical acts documented", + "name": "type", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", "in": "query", "required": false, "schema": { @@ -13339,8 +13339,8 @@ } }, { - "name": "facility", - "description": "Kind of facility where patient was seen", + "name": "setting", + "description": "Additional details about where the content was created (e.g. clinical specialty)", "in": "query", "required": false, "schema": { @@ -13348,8 +13348,8 @@ } }, { - "name": "format", - "description": "Format/content rules for the document", + "name": "status", + "description": "current | superseded | entered-in-error", "in": "query", "required": false, "schema": { @@ -13366,8 +13366,8 @@ } }, { - "name": "location", - "description": "Uri where the data can be found", + "name": "relatesto", + "description": "Target of the relationship", "in": "query", "required": false, "schema": { @@ -13375,8 +13375,8 @@ } }, { - "name": "period", - "description": "Time of service that is being documented", + "name": "related", + "description": "Related identifiers or resources", "in": "query", "required": false, "schema": { @@ -13384,8 +13384,8 @@ } }, { - "name": "related", - "description": "Related identifiers or resources", + "name": "author", + "description": "Who and/or what authored the document", "in": "query", "required": false, "schema": { @@ -13393,8 +13393,8 @@ } }, { - "name": "relatesto", - "description": "Target of the relationship", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -13402,8 +13402,8 @@ } }, { - "name": "relation", - "description": "replaces | transforms | signs | appends", + "name": "authenticator", + "description": "Who/what authenticated the document", "in": "query", "required": false, "schema": { @@ -13411,8 +13411,8 @@ } }, { - "name": "security-label", - "description": "Document security-tags", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -13420,8 +13420,8 @@ } }, { - "name": "setting", - "description": "Additional details about where the content was created (e.g. clinical specialty)", + "name": "subject", + "description": "Who/what is the subject of the document", "in": "query", "required": false, "schema": { @@ -13429,8 +13429,8 @@ } }, { - "name": "status", - "description": "current | superseded | entered-in-error", + "name": "custodian", + "description": "Organization which maintains the document", "in": "query", "required": false, "schema": { @@ -13438,8 +13438,8 @@ } }, { - "name": "subject", - "description": "Who/what is the subject of the document", + "name": "relationship", + "description": "Combination of relation and relatesTo", "in": "query", "required": false, "schema": { @@ -13447,8 +13447,8 @@ } }, { - "name": "relationship", - "description": "Combination of relation and relatesTo", + "name": "location", + "description": "Uri where the data can be found", "in": "query", "required": false, "schema": { @@ -13456,22 +13456,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -13669,8 +13669,8 @@ "operationId": "searchEffectEvidenceSynthesis", "parameters": [ { - "name": "context", - "description": "A use context assigned to the effect evidence synthesis", + "name": "effective", + "description": "The time during which the effect evidence synthesis is intended to be in use", "in": "query", "required": false, "schema": { @@ -13678,8 +13678,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the effect evidence synthesis", + "name": "date", + "description": "The effect evidence synthesis publication date", "in": "query", "required": false, "schema": { @@ -13687,8 +13687,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the effect evidence synthesis", + "name": "description", + "description": "The description of the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13696,8 +13696,8 @@ } }, { - "name": "date", - "description": "The effect evidence synthesis publication date", + "name": "title", + "description": "The human-friendly name of the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13705,8 +13705,8 @@ } }, { - "name": "description", - "description": "The description of the effect evidence synthesis", + "name": "publisher", + "description": "Name of the publisher of the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13714,8 +13714,8 @@ } }, { - "name": "effective", - "description": "The time during which the effect evidence synthesis is intended to be in use", + "name": "name", + "description": "Computationally friendly name of the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13723,8 +13723,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the effect evidence synthesis", + "name": "context", + "description": "A use context assigned to the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13732,8 +13732,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the effect evidence synthesis", + "name": "version", + "description": "The business version of the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13741,8 +13741,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the effect evidence synthesis", + "name": "identifier", + "description": "External identifier for the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13750,8 +13750,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the effect evidence synthesis", + "name": "context-type", + "description": "A type of use context assigned to the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13759,8 +13759,8 @@ } }, { - "name": "status", - "description": "The current status of the effect evidence synthesis", + "name": "jurisdiction", + "description": "Intended jurisdiction for the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13768,8 +13768,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the effect evidence synthesis", + "name": "status", + "description": "The current status of the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13777,8 +13777,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the effect evidence synthesis", + "name": "context-type-value", + "description": "A use context type and value assigned to the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13786,8 +13786,8 @@ } }, { - "name": "version", - "description": "The business version of the effect evidence synthesis", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13795,8 +13795,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the effect evidence synthesis", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13804,8 +13804,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the effect evidence synthesis", + "name": "url", + "description": "The uri that identifies the effect evidence synthesis", "in": "query", "required": false, "schema": { @@ -13813,22 +13813,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -14026,8 +14026,8 @@ "operationId": "searchEncounter", "parameters": [ { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", + "name": "location-period", + "description": "Time period during which the patient was present at the location", "in": "query", "required": false, "schema": { @@ -14035,8 +14035,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", "in": "query", "required": false, "schema": { @@ -14044,8 +14044,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "participant-type", + "description": "Role of participant in encounter", "in": "query", "required": false, "schema": { @@ -14053,8 +14053,8 @@ } }, { - "name": "type", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", + "name": "class", + "description": "Classification of patient encounter", "in": "query", "required": false, "schema": { @@ -14062,8 +14062,8 @@ } }, { - "name": "account", - "description": "The set of accounts that may be used for billing for this Encounter", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -14071,8 +14071,8 @@ } }, { - "name": "appointment", - "description": "The appointment that scheduled this encounter", + "name": "type", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", "in": "query", "required": false, "schema": { @@ -14080,8 +14080,8 @@ } }, { - "name": "based-on", - "description": "The ServiceRequest that initiated this encounter", + "name": "status", + "description": "planned | arrived | triaged | in-progress | onleave | finished | cancelled +", "in": "query", "required": false, "schema": { @@ -14089,8 +14089,8 @@ } }, { - "name": "class", - "description": "Classification of patient encounter", + "name": "special-arrangement", + "description": "Wheelchair, translator, stretcher, etc.", "in": "query", "required": false, "schema": { @@ -14098,8 +14098,8 @@ } }, { - "name": "diagnosis", - "description": "The diagnosis or procedure relevant to the encounter", + "name": "reason-code", + "description": "Coded reason the encounter takes place", "in": "query", "required": false, "schema": { @@ -14107,8 +14107,8 @@ } }, { - "name": "episode-of-care", - "description": "Episode(s) of care that this encounter should be recorded against", + "name": "reason-reference", + "description": "Reason the encounter takes place (reference)", "in": "query", "required": false, "schema": { @@ -14116,8 +14116,8 @@ } }, { - "name": "length", - "description": "Length of encounter in days", + "name": "part-of", + "description": "Another Encounter this encounter is part of", "in": "query", "required": false, "schema": { @@ -14125,8 +14125,8 @@ } }, { - "name": "location", - "description": "Location the encounter takes place", + "name": "episode-of-care", + "description": "Episode(s) of care that this encounter should be recorded against", "in": "query", "required": false, "schema": { @@ -14134,8 +14134,8 @@ } }, { - "name": "location-period", - "description": "Time period during which the patient was present at the location", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -14143,8 +14143,8 @@ } }, { - "name": "part-of", - "description": "Another Encounter this encounter is part of", + "name": "location", + "description": "Location the encounter takes place", "in": "query", "required": false, "schema": { @@ -14152,8 +14152,8 @@ } }, { - "name": "participant", - "description": "Persons involved in the encounter other than the patient", + "name": "account", + "description": "The set of accounts that may be used for billing for this Encounter", "in": "query", "required": false, "schema": { @@ -14161,8 +14161,8 @@ } }, { - "name": "participant-type", - "description": "Role of participant in encounter", + "name": "subject", + "description": "The patient or group present at the encounter", "in": "query", "required": false, "schema": { @@ -14170,8 +14170,8 @@ } }, { - "name": "practitioner", - "description": "Persons involved in the encounter other than the patient", + "name": "appointment", + "description": "The appointment that scheduled this encounter", "in": "query", "required": false, "schema": { @@ -14179,8 +14179,8 @@ } }, { - "name": "reason-code", - "description": "Coded reason the encounter takes place", + "name": "service-provider", + "description": "The organization (facility) responsible for this encounter", "in": "query", "required": false, "schema": { @@ -14188,8 +14188,8 @@ } }, { - "name": "reason-reference", - "description": "Reason the encounter takes place (reference)", + "name": "based-on", + "description": "The ServiceRequest that initiated this encounter", "in": "query", "required": false, "schema": { @@ -14197,8 +14197,8 @@ } }, { - "name": "service-provider", - "description": "The organization (facility) responsible for this encounter", + "name": "participant", + "description": "Persons involved in the encounter other than the patient", "in": "query", "required": false, "schema": { @@ -14206,8 +14206,8 @@ } }, { - "name": "special-arrangement", - "description": "Wheelchair, translator, stretcher, etc.", + "name": "diagnosis", + "description": "The diagnosis or procedure relevant to the encounter", "in": "query", "required": false, "schema": { @@ -14215,8 +14215,8 @@ } }, { - "name": "status", - "description": "planned | arrived | triaged | in-progress | onleave | finished | cancelled +", + "name": "practitioner", + "description": "Persons involved in the encounter other than the patient", "in": "query", "required": false, "schema": { @@ -14224,8 +14224,8 @@ } }, { - "name": "subject", - "description": "The patient or group present at the encounter", + "name": "length", + "description": "Length of encounter in days", "in": "query", "required": false, "schema": { @@ -14233,22 +14233,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -14446,8 +14446,8 @@ "operationId": "searchEndpoint", "parameters": [ { - "name": "connection-type", - "description": "Protocol/Profile/Standard to be used with this endpoint connection", + "name": "name", + "description": "A name that this endpoint can be identified by", "in": "query", "required": false, "schema": { @@ -14455,8 +14455,8 @@ } }, { - "name": "identifier", - "description": "Identifies this endpoint across multiple systems", + "name": "connection-type", + "description": "Protocol/Profile/Standard to be used with this endpoint connection", "in": "query", "required": false, "schema": { @@ -14464,8 +14464,8 @@ } }, { - "name": "name", - "description": "A name that this endpoint can be identified by", + "name": "identifier", + "description": "Identifies this endpoint across multiple systems", "in": "query", "required": false, "schema": { @@ -14473,8 +14473,8 @@ } }, { - "name": "organization", - "description": "The organization that is managing the endpoint", + "name": "status", + "description": "The current status of the Endpoint (usually expected to be active)", "in": "query", "required": false, "schema": { @@ -14491,8 +14491,8 @@ } }, { - "name": "status", - "description": "The current status of the Endpoint (usually expected to be active)", + "name": "organization", + "description": "The organization that is managing the endpoint", "in": "query", "required": false, "schema": { @@ -14500,22 +14500,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -14713,8 +14713,8 @@ "operationId": "searchEnrollmentRequest", "parameters": [ { - "name": "identifier", - "description": "The business identifier of the Enrollment", + "name": "status", + "description": "The status of the enrollment", "in": "query", "required": false, "schema": { @@ -14722,8 +14722,8 @@ } }, { - "name": "patient", - "description": "The party to be enrolled", + "name": "identifier", + "description": "The business identifier of the Enrollment", "in": "query", "required": false, "schema": { @@ -14731,8 +14731,8 @@ } }, { - "name": "status", - "description": "The status of the enrollment", + "name": "patient", + "description": "The party to be enrolled", "in": "query", "required": false, "schema": { @@ -14749,22 +14749,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -14971,8 +14971,8 @@ } }, { - "name": "request", - "description": "The reference to the claim", + "name": "status", + "description": "The status of the enrollment response", "in": "query", "required": false, "schema": { @@ -14980,8 +14980,8 @@ } }, { - "name": "status", - "description": "The status of the enrollment response", + "name": "request", + "description": "The reference to the claim", "in": "query", "required": false, "schema": { @@ -14989,22 +14989,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -15220,8 +15220,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "type", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", "in": "query", "required": false, "schema": { @@ -15229,8 +15229,8 @@ } }, { - "name": "type", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", + "name": "status", + "description": "The current status of the Episode of Care as provided (does not check the status history collection)", "in": "query", "required": false, "schema": { @@ -15247,8 +15247,8 @@ } }, { - "name": "condition", - "description": "Conditions/problems/diagnoses this episode of care is for", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -15265,8 +15265,8 @@ } }, { - "name": "organization", - "description": "The organization that has assumed the specific responsibilities of this EpisodeOfCare", + "name": "condition", + "description": "Conditions/problems/diagnoses this episode of care is for", "in": "query", "required": false, "schema": { @@ -15274,8 +15274,8 @@ } }, { - "name": "status", - "description": "The current status of the Episode of Care as provided (does not check the status history collection)", + "name": "organization", + "description": "The organization that has assumed the specific responsibilities of this EpisodeOfCare", "in": "query", "required": false, "schema": { @@ -15283,22 +15283,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -15496,8 +15496,8 @@ "operationId": "searchEventDefinition", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", + "name": "date", + "description": "The event definition publication date", "in": "query", "required": false, "schema": { @@ -15505,8 +15505,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the event definition", + "name": "effective", + "description": "The time during which the event definition is intended to be in use", "in": "query", "required": false, "schema": { @@ -15514,8 +15514,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the event definition", + "name": "title", + "description": "The human-friendly name of the event definition", "in": "query", "required": false, "schema": { @@ -15523,8 +15523,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the event definition", + "name": "publisher", + "description": "Name of the publisher of the event definition", "in": "query", "required": false, "schema": { @@ -15532,8 +15532,8 @@ } }, { - "name": "date", - "description": "The event definition publication date", + "name": "description", + "description": "The description of the event definition", "in": "query", "required": false, "schema": { @@ -15541,8 +15541,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "name", + "description": "Computationally friendly name of the event definition", "in": "query", "required": false, "schema": { @@ -15550,8 +15550,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "version", + "description": "The business version of the event definition", "in": "query", "required": false, "schema": { @@ -15559,8 +15559,8 @@ } }, { - "name": "description", - "description": "The description of the event definition", + "name": "context", + "description": "A use context assigned to the event definition", "in": "query", "required": false, "schema": { @@ -15568,8 +15568,8 @@ } }, { - "name": "effective", - "description": "The time during which the event definition is intended to be in use", + "name": "identifier", + "description": "External identifier for the event definition", "in": "query", "required": false, "schema": { @@ -15577,8 +15577,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the event definition", + "name": "jurisdiction", + "description": "Intended jurisdiction for the event definition", "in": "query", "required": false, "schema": { @@ -15586,8 +15586,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the event definition", + "name": "status", + "description": "The current status of the event definition", "in": "query", "required": false, "schema": { @@ -15595,8 +15595,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the event definition", + "name": "context-type", + "description": "A type of use context assigned to the event definition", "in": "query", "required": false, "schema": { @@ -15604,8 +15604,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "topic", + "description": "Topics associated with the module", "in": "query", "required": false, "schema": { @@ -15613,8 +15613,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the event definition", + "name": "successor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -15622,8 +15622,8 @@ } }, { - "name": "status", - "description": "The current status of the event definition", + "name": "derived-from", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -15631,7 +15631,7 @@ } }, { - "name": "successor", + "name": "depends-on", "description": "What resource is being referenced", "in": "query", "required": false, @@ -15640,8 +15640,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the event definition", + "name": "composed-of", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -15649,8 +15649,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the module", + "name": "predecessor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -15658,8 +15658,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the event definition", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the event definition", "in": "query", "required": false, "schema": { @@ -15667,8 +15667,8 @@ } }, { - "name": "version", - "description": "The business version of the event definition", + "name": "context-type-value", + "description": "A use context type and value assigned to the event definition", "in": "query", "required": false, "schema": { @@ -15676,8 +15676,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the event definition", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the event definition", "in": "query", "required": false, "schema": { @@ -15685,8 +15685,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the event definition", + "name": "url", + "description": "The uri that identifies the event definition", "in": "query", "required": false, "schema": { @@ -15694,22 +15694,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -15907,8 +15907,8 @@ "operationId": "searchEvidence", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", + "name": "date", + "description": "The evidence publication date", "in": "query", "required": false, "schema": { @@ -15916,8 +15916,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the evidence", + "name": "effective", + "description": "The time during which the evidence is intended to be in use", "in": "query", "required": false, "schema": { @@ -15925,8 +15925,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the evidence", + "name": "publisher", + "description": "Name of the publisher of the evidence", "in": "query", "required": false, "schema": { @@ -15934,8 +15934,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the evidence", + "name": "title", + "description": "The human-friendly name of the evidence", "in": "query", "required": false, "schema": { @@ -15943,8 +15943,8 @@ } }, { - "name": "date", - "description": "The evidence publication date", + "name": "name", + "description": "Computationally friendly name of the evidence", "in": "query", "required": false, "schema": { @@ -15952,8 +15952,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "description", + "description": "The description of the evidence", "in": "query", "required": false, "schema": { @@ -15961,8 +15961,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "context", + "description": "A use context assigned to the evidence", "in": "query", "required": false, "schema": { @@ -15970,8 +15970,8 @@ } }, { - "name": "description", - "description": "The description of the evidence", + "name": "status", + "description": "The current status of the evidence", "in": "query", "required": false, "schema": { @@ -15979,8 +15979,8 @@ } }, { - "name": "effective", - "description": "The time during which the evidence is intended to be in use", + "name": "jurisdiction", + "description": "Intended jurisdiction for the evidence", "in": "query", "required": false, "schema": { @@ -15997,8 +15997,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the evidence", + "name": "topic", + "description": "Topics associated with the Evidence", "in": "query", "required": false, "schema": { @@ -16006,8 +16006,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the evidence", + "name": "version", + "description": "The business version of the evidence", "in": "query", "required": false, "schema": { @@ -16015,8 +16015,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "context-type", + "description": "A type of use context assigned to the evidence", "in": "query", "required": false, "schema": { @@ -16024,8 +16024,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the evidence", + "name": "successor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -16033,8 +16033,8 @@ } }, { - "name": "status", - "description": "The current status of the evidence", + "name": "composed-of", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -16042,7 +16042,7 @@ } }, { - "name": "successor", + "name": "depends-on", "description": "What resource is being referenced", "in": "query", "required": false, @@ -16051,8 +16051,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the evidence", + "name": "predecessor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -16060,8 +16060,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the Evidence", + "name": "derived-from", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -16069,8 +16069,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the evidence", + "name": "context-type-value", + "description": "A use context type and value assigned to the evidence", "in": "query", "required": false, "schema": { @@ -16078,8 +16078,8 @@ } }, { - "name": "version", - "description": "The business version of the evidence", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the evidence", "in": "query", "required": false, "schema": { @@ -16087,8 +16087,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the evidence", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the evidence", "in": "query", "required": false, "schema": { @@ -16096,8 +16096,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the evidence", + "name": "url", + "description": "The uri that identifies the evidence", "in": "query", "required": false, "schema": { @@ -16105,22 +16105,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -16318,8 +16318,8 @@ "operationId": "searchEvidenceVariable", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", + "name": "effective", + "description": "The time during which the evidence variable is intended to be in use", "in": "query", "required": false, "schema": { @@ -16327,8 +16327,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the evidence variable", + "name": "date", + "description": "The evidence variable publication date", "in": "query", "required": false, "schema": { @@ -16336,8 +16336,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the evidence variable", + "name": "description", + "description": "The description of the evidence variable", "in": "query", "required": false, "schema": { @@ -16345,8 +16345,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the evidence variable", + "name": "name", + "description": "Computationally friendly name of the evidence variable", "in": "query", "required": false, "schema": { @@ -16354,8 +16354,8 @@ } }, { - "name": "date", - "description": "The evidence variable publication date", + "name": "title", + "description": "The human-friendly name of the evidence variable", "in": "query", "required": false, "schema": { @@ -16363,8 +16363,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "publisher", + "description": "Name of the publisher of the evidence variable", "in": "query", "required": false, "schema": { @@ -16372,8 +16372,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "version", + "description": "The business version of the evidence variable", "in": "query", "required": false, "schema": { @@ -16381,8 +16381,8 @@ } }, { - "name": "description", - "description": "The description of the evidence variable", + "name": "topic", + "description": "Topics associated with the EvidenceVariable", "in": "query", "required": false, "schema": { @@ -16390,8 +16390,8 @@ } }, { - "name": "effective", - "description": "The time during which the evidence variable is intended to be in use", + "name": "identifier", + "description": "External identifier for the evidence variable", "in": "query", "required": false, "schema": { @@ -16399,8 +16399,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the evidence variable", + "name": "context-type", + "description": "A type of use context assigned to the evidence variable", "in": "query", "required": false, "schema": { @@ -16408,8 +16408,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the evidence variable", + "name": "context", + "description": "A use context assigned to the evidence variable", "in": "query", "required": false, "schema": { @@ -16417,8 +16417,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the evidence variable", + "name": "status", + "description": "The current status of the evidence variable", "in": "query", "required": false, "schema": { @@ -16426,8 +16426,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "jurisdiction", + "description": "Intended jurisdiction for the evidence variable", "in": "query", "required": false, "schema": { @@ -16435,8 +16435,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the evidence variable", + "name": "predecessor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -16444,8 +16444,8 @@ } }, { - "name": "status", - "description": "The current status of the evidence variable", + "name": "successor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -16453,7 +16453,7 @@ } }, { - "name": "successor", + "name": "depends-on", "description": "What resource is being referenced", "in": "query", "required": false, @@ -16462,8 +16462,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the evidence variable", + "name": "composed-of", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -16471,8 +16471,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the EvidenceVariable", + "name": "derived-from", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -16480,8 +16480,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the evidence variable", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the evidence variable", "in": "query", "required": false, "schema": { @@ -16489,8 +16489,8 @@ } }, { - "name": "version", - "description": "The business version of the evidence variable", + "name": "context-type-value", + "description": "A use context type and value assigned to the evidence variable", "in": "query", "required": false, "schema": { @@ -16498,8 +16498,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the evidence variable", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the evidence variable", "in": "query", "required": false, "schema": { @@ -16507,8 +16507,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the evidence variable", + "name": "url", + "description": "The uri that identifies the evidence variable", "in": "query", "required": false, "schema": { @@ -16516,22 +16516,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -16729,8 +16729,8 @@ "operationId": "searchExampleScenario", "parameters": [ { - "name": "context", - "description": "A use context assigned to the example scenario", + "name": "date", + "description": "The example scenario publication date", "in": "query", "required": false, "schema": { @@ -16738,8 +16738,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the example scenario", + "name": "name", + "description": "Computationally friendly name of the example scenario", "in": "query", "required": false, "schema": { @@ -16747,8 +16747,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the example scenario", + "name": "publisher", + "description": "Name of the publisher of the example scenario", "in": "query", "required": false, "schema": { @@ -16756,8 +16756,8 @@ } }, { - "name": "date", - "description": "The example scenario publication date", + "name": "jurisdiction", + "description": "Intended jurisdiction for the example scenario", "in": "query", "required": false, "schema": { @@ -16765,8 +16765,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the example scenario", + "name": "context-type", + "description": "A type of use context assigned to the example scenario", "in": "query", "required": false, "schema": { @@ -16774,8 +16774,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the example scenario", + "name": "identifier", + "description": "External identifier for the example scenario", "in": "query", "required": false, "schema": { @@ -16783,8 +16783,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the example scenario", + "name": "version", + "description": "The business version of the example scenario", "in": "query", "required": false, "schema": { @@ -16792,8 +16792,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the example scenario", + "name": "status", + "description": "The current status of the example scenario", "in": "query", "required": false, "schema": { @@ -16801,8 +16801,8 @@ } }, { - "name": "status", - "description": "The current status of the example scenario", + "name": "context", + "description": "A use context assigned to the example scenario", "in": "query", "required": false, "schema": { @@ -16810,8 +16810,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the example scenario", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the example scenario", "in": "query", "required": false, "schema": { @@ -16819,8 +16819,8 @@ } }, { - "name": "version", - "description": "The business version of the example scenario", + "name": "context-type-value", + "description": "A use context type and value assigned to the example scenario", "in": "query", "required": false, "schema": { @@ -16828,8 +16828,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the example scenario", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the example scenario", "in": "query", "required": false, "schema": { @@ -16837,8 +16837,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the example scenario", + "name": "url", + "description": "The uri that identifies the example scenario", "in": "query", "required": false, "schema": { @@ -16846,22 +16846,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -17059,8 +17059,8 @@ "operationId": "searchExplanationOfBenefit", "parameters": [ { - "name": "care-team", - "description": "Member of the CareTeam", + "name": "created", + "description": "The creation date for the EOB", "in": "query", "required": false, "schema": { @@ -17068,8 +17068,8 @@ } }, { - "name": "claim", - "description": "The reference to the claim", + "name": "disposition", + "description": "The contents of the disposition message", "in": "query", "required": false, "schema": { @@ -17077,8 +17077,8 @@ } }, { - "name": "coverage", - "description": "The plan under which the claim was adjudicated", + "name": "status", + "description": "Status of the instance", "in": "query", "required": false, "schema": { @@ -17086,8 +17086,8 @@ } }, { - "name": "created", - "description": "The creation date for the EOB", + "name": "identifier", + "description": "The business identifier of the Explanation of Benefit", "in": "query", "required": false, "schema": { @@ -17095,8 +17095,8 @@ } }, { - "name": "detail-udi", - "description": "UDI associated with a line item detail product or service", + "name": "care-team", + "description": "Member of the CareTeam", "in": "query", "required": false, "schema": { @@ -17104,8 +17104,8 @@ } }, { - "name": "disposition", - "description": "The contents of the disposition message", + "name": "patient", + "description": "The reference to the patient", "in": "query", "required": false, "schema": { @@ -17113,8 +17113,8 @@ } }, { - "name": "encounter", - "description": "Encounters associated with a billed line item", + "name": "payee", + "description": "The party receiving any payment for the Claim", "in": "query", "required": false, "schema": { @@ -17122,8 +17122,8 @@ } }, { - "name": "enterer", - "description": "The party responsible for the entry of the Claim", + "name": "facility", + "description": "Facility responsible for the goods and services", "in": "query", "required": false, "schema": { @@ -17131,8 +17131,8 @@ } }, { - "name": "facility", - "description": "Facility responsible for the goods and services", + "name": "claim", + "description": "The reference to the claim", "in": "query", "required": false, "schema": { @@ -17140,8 +17140,8 @@ } }, { - "name": "identifier", - "description": "The business identifier of the Explanation of Benefit", + "name": "procedure-udi", + "description": "UDI associated with a procedure", "in": "query", "required": false, "schema": { @@ -17149,8 +17149,8 @@ } }, { - "name": "item-udi", - "description": "UDI associated with a line item product or service", + "name": "encounter", + "description": "Encounters associated with a billed line item", "in": "query", "required": false, "schema": { @@ -17158,8 +17158,8 @@ } }, { - "name": "patient", - "description": "The reference to the patient", + "name": "subdetail-udi", + "description": "UDI associated with a line item detail subdetail product or service", "in": "query", "required": false, "schema": { @@ -17167,8 +17167,8 @@ } }, { - "name": "payee", - "description": "The party receiving any payment for the Claim", + "name": "coverage", + "description": "The plan under which the claim was adjudicated", "in": "query", "required": false, "schema": { @@ -17176,8 +17176,8 @@ } }, { - "name": "procedure-udi", - "description": "UDI associated with a procedure", + "name": "item-udi", + "description": "UDI associated with a line item product or service", "in": "query", "required": false, "schema": { @@ -17185,8 +17185,8 @@ } }, { - "name": "provider", - "description": "The reference to the provider", + "name": "detail-udi", + "description": "UDI associated with a line item detail product or service", "in": "query", "required": false, "schema": { @@ -17194,8 +17194,8 @@ } }, { - "name": "status", - "description": "Status of the instance", + "name": "enterer", + "description": "The party responsible for the entry of the Claim", "in": "query", "required": false, "schema": { @@ -17203,8 +17203,8 @@ } }, { - "name": "subdetail-udi", - "description": "UDI associated with a line item detail subdetail product or service", + "name": "provider", + "description": "The reference to the provider", "in": "query", "required": false, "schema": { @@ -17212,22 +17212,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -17425,8 +17425,8 @@ "operationId": "searchFamilyMemberHistory", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", "in": "query", "required": false, "schema": { @@ -17434,8 +17434,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -17443,8 +17443,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "sex", + "description": "A search by a sex code of a family member", "in": "query", "required": false, "schema": { @@ -17452,8 +17452,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "relationship", + "description": "A search by a relationship type", "in": "query", "required": false, "schema": { @@ -17461,8 +17461,8 @@ } }, { - "name": "instantiates-canonical", - "description": "Instantiates FHIR protocol or definition", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -17470,8 +17470,8 @@ } }, { - "name": "instantiates-uri", - "description": "Instantiates external protocol or definition", + "name": "status", + "description": "partial | completed | entered-in-error | health-unknown", "in": "query", "required": false, "schema": { @@ -17479,8 +17479,8 @@ } }, { - "name": "relationship", - "description": "A search by a relationship type", + "name": "instantiates-canonical", + "description": "Instantiates FHIR protocol or definition", "in": "query", "required": false, "schema": { @@ -17488,8 +17488,8 @@ } }, { - "name": "sex", - "description": "A search by a sex code of a family member", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -17497,8 +17497,8 @@ } }, { - "name": "status", - "description": "partial | completed | entered-in-error | health-unknown", + "name": "instantiates-uri", + "description": "Instantiates external protocol or definition", "in": "query", "required": false, "schema": { @@ -17506,22 +17506,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -17728,8 +17728,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "identifier", + "description": "Business identifier", "in": "query", "required": false, "schema": { @@ -17737,8 +17737,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "subject", + "description": "The identity of a subject to list flags for", "in": "query", "required": false, "schema": { @@ -17746,8 +17746,8 @@ } }, { - "name": "author", - "description": "Flag creator", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -17755,8 +17755,8 @@ } }, { - "name": "identifier", - "description": "Business identifier", + "name": "author", + "description": "Flag creator", "in": "query", "required": false, "schema": { @@ -17764,8 +17764,8 @@ } }, { - "name": "subject", - "description": "The identity of a subject to list flags for", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -17773,22 +17773,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -17986,8 +17986,8 @@ "operationId": "searchGoal", "parameters": [ { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "target-date", + "description": "Reach goal on or before", "in": "query", "required": false, "schema": { @@ -17995,8 +17995,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "start-date", + "description": "When goal pursuit begins", "in": "query", "required": false, "schema": { @@ -18004,8 +18004,8 @@ } }, { - "name": "achievement-status", - "description": "in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable", + "name": "category", + "description": "E.g. Treatment, dietary, behavioral, etc.", "in": "query", "required": false, "schema": { @@ -18013,8 +18013,8 @@ } }, { - "name": "category", - "description": "E.g. Treatment, dietary, behavioral, etc.", + "name": "achievement-status", + "description": "in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable", "in": "query", "required": false, "schema": { @@ -18022,8 +18022,8 @@ } }, { - "name": "lifecycle-status", - "description": "proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -18031,8 +18031,8 @@ } }, { - "name": "start-date", - "description": "When goal pursuit begins", + "name": "lifecycle-status", + "description": "proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected", "in": "query", "required": false, "schema": { @@ -18040,8 +18040,8 @@ } }, { - "name": "subject", - "description": "Who this goal is intended for", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -18049,8 +18049,8 @@ } }, { - "name": "target-date", - "description": "Reach goal on or before", + "name": "subject", + "description": "Who this goal is intended for", "in": "query", "required": false, "schema": { @@ -18058,22 +18058,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -18271,8 +18271,8 @@ "operationId": "searchGraphDefinition", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -18280,8 +18280,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -18289,8 +18289,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -18298,8 +18298,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -18307,8 +18307,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -18316,8 +18316,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -18325,8 +18325,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -18334,8 +18334,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -18343,8 +18343,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "start", + "description": "Type of resource at which the graph starts", "in": "query", "required": false, "schema": { @@ -18352,8 +18352,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -18361,8 +18361,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -18379,8 +18379,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -18388,8 +18388,8 @@ } }, { - "name": "start", - "description": "Type of resource at which the graph starts", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -18397,22 +18397,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -18610,8 +18610,8 @@ "operationId": "searchGroup", "parameters": [ { - "name": "actual", - "description": "Descriptive or actual", + "name": "code", + "description": "The kind of resources contained", "in": "query", "required": false, "schema": { @@ -18619,8 +18619,8 @@ } }, { - "name": "characteristic", - "description": "Kind of characteristic", + "name": "actual", + "description": "Descriptive or actual", "in": "query", "required": false, "schema": { @@ -18628,8 +18628,8 @@ } }, { - "name": "code", - "description": "The kind of resources contained", + "name": "exclude", + "description": "Group includes or excludes", "in": "query", "required": false, "schema": { @@ -18637,8 +18637,8 @@ } }, { - "name": "exclude", - "description": "Group includes or excludes", + "name": "value", + "description": "Value held by characteristic", "in": "query", "required": false, "schema": { @@ -18646,8 +18646,8 @@ } }, { - "name": "identifier", - "description": "Unique id", + "name": "type", + "description": "The type of resources the group contains", "in": "query", "required": false, "schema": { @@ -18655,8 +18655,8 @@ } }, { - "name": "managing-entity", - "description": "Entity that is the custodian of the Group's definition", + "name": "identifier", + "description": "Unique id", "in": "query", "required": false, "schema": { @@ -18664,8 +18664,8 @@ } }, { - "name": "member", - "description": "Reference to the group member", + "name": "characteristic", + "description": "Kind of characteristic", "in": "query", "required": false, "schema": { @@ -18673,8 +18673,8 @@ } }, { - "name": "type", - "description": "The type of resources the group contains", + "name": "managing-entity", + "description": "Entity that is the custodian of the Group's definition", "in": "query", "required": false, "schema": { @@ -18682,8 +18682,8 @@ } }, { - "name": "value", - "description": "Value held by characteristic", + "name": "member", + "description": "Reference to the group member", "in": "query", "required": false, "schema": { @@ -18700,22 +18700,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -18922,8 +18922,8 @@ } }, { - "name": "patient", - "description": "The identity of a patient to search for guidance response results", + "name": "request", + "description": "The identifier of the request associated with the response", "in": "query", "required": false, "schema": { @@ -18931,8 +18931,8 @@ } }, { - "name": "request", - "description": "The identifier of the request associated with the response", + "name": "subject", + "description": "The subject that the guidance response is about", "in": "query", "required": false, "schema": { @@ -18940,8 +18940,8 @@ } }, { - "name": "subject", - "description": "The subject that the guidance response is about", + "name": "patient", + "description": "The identity of a patient to search for guidance response results", "in": "query", "required": false, "schema": { @@ -18949,22 +18949,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -19162,8 +19162,8 @@ "operationId": "searchHealthcareService", "parameters": [ { - "name": "active", - "description": "The Healthcare Service is currently marked as active", + "name": "name", + "description": "A portion of the Healthcare service name", "in": "query", "required": false, "schema": { @@ -19171,8 +19171,8 @@ } }, { - "name": "characteristic", - "description": "One of the HealthcareService's characteristics", + "name": "service-category", + "description": "Service Category of the Healthcare Service", "in": "query", "required": false, "schema": { @@ -19180,8 +19180,8 @@ } }, { - "name": "coverage-area", - "description": "Location(s) service is intended for/available to", + "name": "service-type", + "description": "The type of service provided by this healthcare service", "in": "query", "required": false, "schema": { @@ -19189,8 +19189,8 @@ } }, { - "name": "endpoint", - "description": "Technical endpoints providing access to electronic services operated for the healthcare service", + "name": "specialty", + "description": "The specialty of the service provided by this healthcare service", "in": "query", "required": false, "schema": { @@ -19198,8 +19198,8 @@ } }, { - "name": "identifier", - "description": "External identifiers for this item", + "name": "program", + "description": "One of the Programs supported by this HealthcareService", "in": "query", "required": false, "schema": { @@ -19207,8 +19207,8 @@ } }, { - "name": "location", - "description": "The location of the Healthcare Service", + "name": "identifier", + "description": "External identifiers for this item", "in": "query", "required": false, "schema": { @@ -19216,8 +19216,8 @@ } }, { - "name": "name", - "description": "A portion of the Healthcare service name", + "name": "active", + "description": "The Healthcare Service is currently marked as active", "in": "query", "required": false, "schema": { @@ -19225,8 +19225,8 @@ } }, { - "name": "organization", - "description": "The organization that provides this Healthcare Service", + "name": "characteristic", + "description": "One of the HealthcareService's characteristics", "in": "query", "required": false, "schema": { @@ -19234,8 +19234,8 @@ } }, { - "name": "program", - "description": "One of the Programs supported by this HealthcareService", + "name": "organization", + "description": "The organization that provides this Healthcare Service", "in": "query", "required": false, "schema": { @@ -19243,8 +19243,8 @@ } }, { - "name": "service-category", - "description": "Service Category of the Healthcare Service", + "name": "location", + "description": "The location of the Healthcare Service", "in": "query", "required": false, "schema": { @@ -19252,8 +19252,8 @@ } }, { - "name": "service-type", - "description": "The type of service provided by this healthcare service", + "name": "endpoint", + "description": "Technical endpoints providing access to electronic services operated for the healthcare service", "in": "query", "required": false, "schema": { @@ -19261,8 +19261,8 @@ } }, { - "name": "specialty", - "description": "The specialty of the service provided by this healthcare service", + "name": "coverage-area", + "description": "Location(s) service is intended for/available to", "in": "query", "required": false, "schema": { @@ -19270,22 +19270,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -19483,8 +19483,8 @@ "operationId": "searchImagingStudy", "parameters": [ { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "started", + "description": "When the study was started", "in": "query", "required": false, "schema": { @@ -19492,8 +19492,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "bodysite", + "description": "The body site studied", "in": "query", "required": false, "schema": { @@ -19501,8 +19501,8 @@ } }, { - "name": "basedon", - "description": "The order for the image", + "name": "reason", + "description": "The reason for the study", "in": "query", "required": false, "schema": { @@ -19510,8 +19510,8 @@ } }, { - "name": "bodysite", - "description": "The body site studied", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -19519,8 +19519,8 @@ } }, { - "name": "dicom-class", - "description": "The type of the instance", + "name": "status", + "description": "The status of the study", "in": "query", "required": false, "schema": { @@ -19528,8 +19528,8 @@ } }, { - "name": "encounter", - "description": "The context of the study", + "name": "dicom-class", + "description": "The type of the instance", "in": "query", "required": false, "schema": { @@ -19537,8 +19537,8 @@ } }, { - "name": "endpoint", - "description": "The endpoint for the study or series", + "name": "series", + "description": "DICOM Series Instance UID for a series", "in": "query", "required": false, "schema": { @@ -19546,8 +19546,8 @@ } }, { - "name": "instance", - "description": "SOP Instance UID for an instance", + "name": "modality", + "description": "The modality of the series", "in": "query", "required": false, "schema": { @@ -19555,8 +19555,8 @@ } }, { - "name": "interpreter", - "description": "Who interpreted the images", + "name": "instance", + "description": "SOP Instance UID for an instance", "in": "query", "required": false, "schema": { @@ -19564,8 +19564,8 @@ } }, { - "name": "modality", - "description": "The modality of the series", + "name": "subject", + "description": "Who the study is about", "in": "query", "required": false, "schema": { @@ -19582,8 +19582,8 @@ } }, { - "name": "reason", - "description": "The reason for the study", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -19591,8 +19591,8 @@ } }, { - "name": "referrer", - "description": "The referring physician", + "name": "endpoint", + "description": "The endpoint for the study or series", "in": "query", "required": false, "schema": { @@ -19600,8 +19600,8 @@ } }, { - "name": "series", - "description": "DICOM Series Instance UID for a series", + "name": "referrer", + "description": "The referring physician", "in": "query", "required": false, "schema": { @@ -19609,8 +19609,8 @@ } }, { - "name": "started", - "description": "When the study was started", + "name": "interpreter", + "description": "Who interpreted the images", "in": "query", "required": false, "schema": { @@ -19618,8 +19618,8 @@ } }, { - "name": "status", - "description": "The status of the study", + "name": "encounter", + "description": "The context of the study", "in": "query", "required": false, "schema": { @@ -19627,8 +19627,8 @@ } }, { - "name": "subject", - "description": "Who the study is about", + "name": "basedon", + "description": "The order for the image", "in": "query", "required": false, "schema": { @@ -19636,22 +19636,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -19858,8 +19858,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "reaction-date", + "description": "When reaction started", "in": "query", "required": false, "schema": { @@ -19867,8 +19867,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "lot-number", + "description": "Vaccine Lot Number", "in": "query", "required": false, "schema": { @@ -19876,8 +19876,8 @@ } }, { - "name": "location", - "description": "The service delivery location or facility in which the vaccine was / was to be administered", + "name": "series", + "description": "The series being followed by the provider", "in": "query", "required": false, "schema": { @@ -19885,8 +19885,8 @@ } }, { - "name": "lot-number", - "description": "Vaccine Lot Number", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -19894,8 +19894,8 @@ } }, { - "name": "manufacturer", - "description": "Vaccine Manufacturer", + "name": "status", + "description": "Immunization event status", "in": "query", "required": false, "schema": { @@ -19903,8 +19903,8 @@ } }, { - "name": "performer", - "description": "The practitioner or organization who played a role in the vaccination", + "name": "vaccine-code", + "description": "Vaccine Product Administered", "in": "query", "required": false, "schema": { @@ -19912,8 +19912,8 @@ } }, { - "name": "reaction", - "description": "Additional information on reaction", + "name": "target-disease", + "description": "The target disease the dose is being administered against", "in": "query", "required": false, "schema": { @@ -19921,8 +19921,8 @@ } }, { - "name": "reaction-date", - "description": "When reaction started", + "name": "status-reason", + "description": "Reason why the vaccine was not administered", "in": "query", "required": false, "schema": { @@ -19939,8 +19939,8 @@ } }, { - "name": "reason-reference", - "description": "Why immunization occurred", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -19948,8 +19948,8 @@ } }, { - "name": "series", - "description": "The series being followed by the provider", + "name": "reaction", + "description": "Additional information on reaction", "in": "query", "required": false, "schema": { @@ -19957,8 +19957,8 @@ } }, { - "name": "status", - "description": "Immunization event status", + "name": "manufacturer", + "description": "Vaccine Manufacturer", "in": "query", "required": false, "schema": { @@ -19966,8 +19966,8 @@ } }, { - "name": "status-reason", - "description": "Reason why the vaccine was not administered", + "name": "performer", + "description": "The practitioner or organization who played a role in the vaccination", "in": "query", "required": false, "schema": { @@ -19975,8 +19975,8 @@ } }, { - "name": "target-disease", - "description": "The target disease the dose is being administered against", + "name": "location", + "description": "The service delivery location or facility in which the vaccine was / was to be administered", "in": "query", "required": false, "schema": { @@ -19984,8 +19984,8 @@ } }, { - "name": "vaccine-code", - "description": "Vaccine Product Administered", + "name": "reason-reference", + "description": "Why immunization occurred", "in": "query", "required": false, "schema": { @@ -19993,22 +19993,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -20215,8 +20215,8 @@ } }, { - "name": "dose-status", - "description": "The status of the dose relative to published recommendations", + "name": "target-disease", + "description": "The vaccine preventable disease being evaluated against", "in": "query", "required": false, "schema": { @@ -20233,8 +20233,8 @@ } }, { - "name": "immunization-event", - "description": "The vaccine administration event being evaluated", + "name": "dose-status", + "description": "The status of the dose relative to published recommendations", "in": "query", "required": false, "schema": { @@ -20242,8 +20242,8 @@ } }, { - "name": "patient", - "description": "The patient being evaluated", + "name": "status", + "description": "Immunization evaluation status", "in": "query", "required": false, "schema": { @@ -20251,8 +20251,8 @@ } }, { - "name": "status", - "description": "Immunization evaluation status", + "name": "immunization-event", + "description": "The vaccine administration event being evaluated", "in": "query", "required": false, "schema": { @@ -20260,8 +20260,8 @@ } }, { - "name": "target-disease", - "description": "The vaccine preventable disease being evaluated against", + "name": "patient", + "description": "The patient being evaluated", "in": "query", "required": false, "schema": { @@ -20269,22 +20269,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -20491,8 +20491,8 @@ } }, { - "name": "identifier", - "description": "Business identifier", + "name": "status", + "description": "Vaccine recommendation status", "in": "query", "required": false, "schema": { @@ -20500,8 +20500,8 @@ } }, { - "name": "information", - "description": "Patient observations supporting recommendation", + "name": "identifier", + "description": "Business identifier", "in": "query", "required": false, "schema": { @@ -20509,8 +20509,8 @@ } }, { - "name": "patient", - "description": "Who this profile is for", + "name": "target-disease", + "description": "Disease to be immunized against", "in": "query", "required": false, "schema": { @@ -20518,8 +20518,8 @@ } }, { - "name": "status", - "description": "Vaccine recommendation status", + "name": "vaccine-type", + "description": "Vaccine or vaccine group recommendation applies to", "in": "query", "required": false, "schema": { @@ -20527,8 +20527,8 @@ } }, { - "name": "support", - "description": "Past immunizations supporting recommendation", + "name": "patient", + "description": "Who this profile is for", "in": "query", "required": false, "schema": { @@ -20536,8 +20536,8 @@ } }, { - "name": "target-disease", - "description": "Disease to be immunized against", + "name": "support", + "description": "Past immunizations supporting recommendation", "in": "query", "required": false, "schema": { @@ -20545,8 +20545,8 @@ } }, { - "name": "vaccine-type", - "description": "Vaccine or vaccine group recommendation applies to", + "name": "information", + "description": "Patient observations supporting recommendation", "in": "query", "required": false, "schema": { @@ -20554,22 +20554,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -20767,8 +20767,8 @@ "operationId": "searchImplementationGuide", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -20776,8 +20776,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -20785,8 +20785,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -20794,8 +20794,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -20803,8 +20803,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -20812,8 +20812,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -20821,8 +20821,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -20830,8 +20830,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -20839,8 +20839,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -20848,8 +20848,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -20857,8 +20857,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "experimental", + "description": "For testing purposes, not real usage", "in": "query", "required": false, "schema": { @@ -20866,8 +20866,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "resource", + "description": "Location of the resource", "in": "query", "required": false, "schema": { @@ -20875,8 +20875,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "global", + "description": "Profile that all resources must conform to", "in": "query", "required": false, "schema": { @@ -20884,8 +20884,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "depends-on", + "description": "Identity of the IG that this depends on", "in": "query", "required": false, "schema": { @@ -20893,8 +20893,8 @@ } }, { - "name": "depends-on", - "description": "Identity of the IG that this depends on", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -20902,8 +20902,8 @@ } }, { - "name": "experimental", - "description": "For testing purposes, not real usage", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -20911,8 +20911,8 @@ } }, { - "name": "global", - "description": "Profile that all resources must conform to", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -20920,8 +20920,8 @@ } }, { - "name": "resource", - "description": "Location of the resource", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -20929,22 +20929,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -21142,8 +21142,8 @@ "operationId": "searchInsurancePlan", "parameters": [ { - "name": "address", - "description": "A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text", + "name": "address-postalcode", + "description": "A postal code specified in an address", "in": "query", "required": false, "schema": { @@ -21151,8 +21151,8 @@ } }, { - "name": "address-city", - "description": "A city specified in an address", + "name": "phonetic", + "description": "A portion of the organization's name using some kind of phonetic matching algorithm", "in": "query", "required": false, "schema": { @@ -21169,8 +21169,8 @@ } }, { - "name": "address-postalcode", - "description": "A postal code specified in an address", + "name": "address", + "description": "A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text", "in": "query", "required": false, "schema": { @@ -21178,8 +21178,8 @@ } }, { - "name": "address-state", - "description": "A state specified in an address", + "name": "name", + "description": "A portion of the organization's name or alias", "in": "query", "required": false, "schema": { @@ -21187,8 +21187,8 @@ } }, { - "name": "address-use", - "description": "A use code specified in an address", + "name": "address-state", + "description": "A state specified in an address", "in": "query", "required": false, "schema": { @@ -21196,8 +21196,8 @@ } }, { - "name": "administered-by", - "description": "Product administrator", + "name": "address-city", + "description": "A city specified in an address", "in": "query", "required": false, "schema": { @@ -21205,8 +21205,8 @@ } }, { - "name": "endpoint", - "description": "Technical endpoint", + "name": "type", + "description": "A code for the type of organization", "in": "query", "required": false, "schema": { @@ -21214,8 +21214,8 @@ } }, { - "name": "identifier", - "description": "Any identifier for the organization (not the accreditation issuer's identifier)", + "name": "address-use", + "description": "A use code specified in an address", "in": "query", "required": false, "schema": { @@ -21223,8 +21223,8 @@ } }, { - "name": "name", - "description": "A portion of the organization's name or alias", + "name": "status", + "description": "Is the Organization record active", "in": "query", "required": false, "schema": { @@ -21232,8 +21232,8 @@ } }, { - "name": "owned-by", - "description": "An organization of which this organization forms a part", + "name": "identifier", + "description": "Any identifier for the organization (not the accreditation issuer's identifier)", "in": "query", "required": false, "schema": { @@ -21241,8 +21241,8 @@ } }, { - "name": "phonetic", - "description": "A portion of the organization's name using some kind of phonetic matching algorithm", + "name": "endpoint", + "description": "Technical endpoint", "in": "query", "required": false, "schema": { @@ -21250,8 +21250,8 @@ } }, { - "name": "status", - "description": "Is the Organization record active", + "name": "owned-by", + "description": "An organization of which this organization forms a part", "in": "query", "required": false, "schema": { @@ -21259,8 +21259,8 @@ } }, { - "name": "type", - "description": "A code for the type of organization", + "name": "administered-by", + "description": "Product administrator", "in": "query", "required": false, "schema": { @@ -21268,22 +21268,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -21481,8 +21481,8 @@ "operationId": "searchInvoice", "parameters": [ { - "name": "account", - "description": "Account that is being balanced", + "name": "date", + "description": "Invoice date / posting date", "in": "query", "required": false, "schema": { @@ -21490,8 +21490,8 @@ } }, { - "name": "date", - "description": "Invoice date / posting date", + "name": "status", + "description": "draft | issued | balanced | cancelled | entered-in-error", "in": "query", "required": false, "schema": { @@ -21499,8 +21499,8 @@ } }, { - "name": "identifier", - "description": "Business Identifier for item", + "name": "type", + "description": "Type of Invoice", "in": "query", "required": false, "schema": { @@ -21508,8 +21508,8 @@ } }, { - "name": "issuer", - "description": "Issuing Organization of Invoice", + "name": "identifier", + "description": "Business Identifier for item", "in": "query", "required": false, "schema": { @@ -21517,8 +21517,8 @@ } }, { - "name": "participant", - "description": "Individual who was involved", + "name": "participant-role", + "description": "Type of involvement in creation of this Invoice", "in": "query", "required": false, "schema": { @@ -21526,8 +21526,8 @@ } }, { - "name": "participant-role", - "description": "Type of involvement in creation of this Invoice", + "name": "account", + "description": "Account that is being balanced", "in": "query", "required": false, "schema": { @@ -21553,8 +21553,8 @@ } }, { - "name": "status", - "description": "draft | issued | balanced | cancelled | entered-in-error", + "name": "issuer", + "description": "Issuing Organization of Invoice", "in": "query", "required": false, "schema": { @@ -21571,8 +21571,8 @@ } }, { - "name": "totalgross", - "description": "Gross total of this Invoice", + "name": "participant", + "description": "Individual who was involved", "in": "query", "required": false, "schema": { @@ -21589,8 +21589,8 @@ } }, { - "name": "type", - "description": "Type of Invoice", + "name": "totalgross", + "description": "Gross total of this Invoice", "in": "query", "required": false, "schema": { @@ -21598,22 +21598,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -21811,8 +21811,8 @@ "operationId": "searchLibrary", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", + "name": "effective", + "description": "The time during which the library is intended to be in use", "in": "query", "required": false, "schema": { @@ -21820,8 +21820,8 @@ } }, { - "name": "content-type", - "description": "The type of content in the library (e.g. text/cql)", + "name": "date", + "description": "The library publication date", "in": "query", "required": false, "schema": { @@ -21829,8 +21829,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the library", + "name": "publisher", + "description": "Name of the publisher of the library", "in": "query", "required": false, "schema": { @@ -21838,8 +21838,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the library", + "name": "title", + "description": "The human-friendly name of the library", "in": "query", "required": false, "schema": { @@ -21847,8 +21847,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the library", + "name": "description", + "description": "The description of the library", "in": "query", "required": false, "schema": { @@ -21856,8 +21856,8 @@ } }, { - "name": "date", - "description": "The library publication date", + "name": "name", + "description": "Computationally friendly name of the library", "in": "query", "required": false, "schema": { @@ -21865,8 +21865,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "identifier", + "description": "External identifier for the library", "in": "query", "required": false, "schema": { @@ -21874,8 +21874,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "context", + "description": "A use context assigned to the library", "in": "query", "required": false, "schema": { @@ -21883,8 +21883,8 @@ } }, { - "name": "description", - "description": "The description of the library", + "name": "type", + "description": "The type of the library (e.g. logic-library, model-definition, asset-collection, module-definition)", "in": "query", "required": false, "schema": { @@ -21892,8 +21892,8 @@ } }, { - "name": "effective", - "description": "The time during which the library is intended to be in use", + "name": "content-type", + "description": "The type of content in the library (e.g. text/cql)", "in": "query", "required": false, "schema": { @@ -21901,8 +21901,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the library", + "name": "context-type", + "description": "A type of use context assigned to the library", "in": "query", "required": false, "schema": { @@ -21910,8 +21910,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the library", + "name": "status", + "description": "The current status of the library", "in": "query", "required": false, "schema": { @@ -21919,8 +21919,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the library", + "name": "version", + "description": "The business version of the library", "in": "query", "required": false, "schema": { @@ -21928,8 +21928,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "jurisdiction", + "description": "Intended jurisdiction for the library", "in": "query", "required": false, "schema": { @@ -21937,8 +21937,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the library", + "name": "topic", + "description": "Topics associated with the module", "in": "query", "required": false, "schema": { @@ -21946,8 +21946,8 @@ } }, { - "name": "status", - "description": "The current status of the library", + "name": "predecessor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -21955,7 +21955,7 @@ } }, { - "name": "successor", + "name": "composed-of", "description": "What resource is being referenced", "in": "query", "required": false, @@ -21964,8 +21964,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the library", + "name": "successor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -21973,8 +21973,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the module", + "name": "depends-on", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -21982,8 +21982,8 @@ } }, { - "name": "type", - "description": "The type of the library (e.g. logic-library, model-definition, asset-collection, module-definition)", + "name": "derived-from", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -21991,8 +21991,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the library", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the library", "in": "query", "required": false, "schema": { @@ -22000,8 +22000,8 @@ } }, { - "name": "version", - "description": "The business version of the library", + "name": "context-type-value", + "description": "A use context type and value assigned to the library", "in": "query", "required": false, "schema": { @@ -22009,8 +22009,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the library", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the library", "in": "query", "required": false, "schema": { @@ -22018,8 +22018,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the library", + "name": "url", + "description": "The uri that identifies the library", "in": "query", "required": false, "schema": { @@ -22027,22 +22027,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -22240,8 +22240,8 @@ "operationId": "searchLinkage", "parameters": [ { - "name": "author", - "description": "Author of the Linkage", + "name": "source", + "description": "Matches on any item in the Linkage with a type of 'source'", "in": "query", "required": false, "schema": { @@ -22249,8 +22249,8 @@ } }, { - "name": "item", - "description": "Matches on any item in the Linkage", + "name": "author", + "description": "Author of the Linkage", "in": "query", "required": false, "schema": { @@ -22258,8 +22258,8 @@ } }, { - "name": "source", - "description": "Matches on any item in the Linkage with a type of 'source'", + "name": "item", + "description": "Matches on any item in the Linkage", "in": "query", "required": false, "schema": { @@ -22267,22 +22267,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -22480,8 +22480,8 @@ "operationId": "searchList", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", "in": "query", "required": false, "schema": { @@ -22489,8 +22489,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", + "name": "title", + "description": "Descriptive name for the list", "in": "query", "required": false, "schema": { @@ -22498,8 +22498,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "notes", + "description": "The annotation - text content (as markdown)", "in": "query", "required": false, "schema": { @@ -22507,8 +22507,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -22516,8 +22516,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -22534,8 +22534,8 @@ } }, { - "name": "item", - "description": "Actual entry", + "name": "status", + "description": "current | retired | entered-in-error", "in": "query", "required": false, "schema": { @@ -22543,8 +22543,8 @@ } }, { - "name": "notes", - "description": "The annotation - text content (as markdown)", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -22552,8 +22552,8 @@ } }, { - "name": "source", - "description": "Who and/or what defined the list contents (aka Author)", + "name": "item", + "description": "Actual entry", "in": "query", "required": false, "schema": { @@ -22561,8 +22561,8 @@ } }, { - "name": "status", - "description": "current | retired | entered-in-error", + "name": "source", + "description": "Who and/or what defined the list contents (aka Author)", "in": "query", "required": false, "schema": { @@ -22570,8 +22570,8 @@ } }, { - "name": "subject", - "description": "If all resources have the same subject", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -22579,8 +22579,8 @@ } }, { - "name": "title", - "description": "Descriptive name for the list", + "name": "subject", + "description": "If all resources have the same subject", "in": "query", "required": false, "schema": { @@ -22588,22 +22588,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -22801,8 +22801,8 @@ "operationId": "searchLocation", "parameters": [ { - "name": "address", - "description": "A (part of the) address of the location", + "name": "address-country", + "description": "A country specified in an address", "in": "query", "required": false, "schema": { @@ -22810,8 +22810,8 @@ } }, { - "name": "address-city", - "description": "A city specified in an address", + "name": "address-postalcode", + "description": "A postal code specified in an address", "in": "query", "required": false, "schema": { @@ -22819,8 +22819,8 @@ } }, { - "name": "address-country", - "description": "A country specified in an address", + "name": "address-state", + "description": "A state specified in an address", "in": "query", "required": false, "schema": { @@ -22828,8 +22828,8 @@ } }, { - "name": "address-postalcode", - "description": "A postal code specified in an address", + "name": "address-city", + "description": "A city specified in an address", "in": "query", "required": false, "schema": { @@ -22837,8 +22837,8 @@ } }, { - "name": "address-state", - "description": "A state specified in an address", + "name": "address", + "description": "A (part of the) address of the location", "in": "query", "required": false, "schema": { @@ -22846,8 +22846,8 @@ } }, { - "name": "address-use", - "description": "A use code specified in an address", + "name": "name", + "description": "A portion of the location's name or alias", "in": "query", "required": false, "schema": { @@ -22855,8 +22855,8 @@ } }, { - "name": "endpoint", - "description": "Technical endpoints providing access to services operated for the location", + "name": "operational-status", + "description": "Searches for locations (typically bed/room) that have an operational status (e.g. contaminated, housekeeping)", "in": "query", "required": false, "schema": { @@ -22864,8 +22864,8 @@ } }, { - "name": "identifier", - "description": "An identifier for the location", + "name": "type", + "description": "A code for the type of location", "in": "query", "required": false, "schema": { @@ -22873,8 +22873,8 @@ } }, { - "name": "name", - "description": "A portion of the location's name or alias", + "name": "status", + "description": "Searches for locations with a specific kind of status", "in": "query", "required": false, "schema": { @@ -22882,8 +22882,8 @@ } }, { - "name": "near", - "description": "Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes).\nIf the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to what distances should be considered near (and units are irrelevant)\n\nServers may search using various techniques that might have differing accuracies, depending on implementation efficiency.\n\nRequires the near-distance parameter to be provided also", + "name": "identifier", + "description": "An identifier for the location", "in": "query", "required": false, "schema": { @@ -22891,8 +22891,8 @@ } }, { - "name": "operational-status", - "description": "Searches for locations (typically bed/room) that have an operational status (e.g. contaminated, housekeeping)", + "name": "address-use", + "description": "A use code specified in an address", "in": "query", "required": false, "schema": { @@ -22900,8 +22900,8 @@ } }, { - "name": "organization", - "description": "Searches for locations that are managed by the provided organization", + "name": "partof", + "description": "A location of which this location is a part", "in": "query", "required": false, "schema": { @@ -22909,8 +22909,8 @@ } }, { - "name": "partof", - "description": "A location of which this location is a part", + "name": "organization", + "description": "Searches for locations that are managed by the provided organization", "in": "query", "required": false, "schema": { @@ -22918,8 +22918,8 @@ } }, { - "name": "status", - "description": "Searches for locations with a specific kind of status", + "name": "endpoint", + "description": "Technical endpoints providing access to services operated for the location", "in": "query", "required": false, "schema": { @@ -22927,8 +22927,8 @@ } }, { - "name": "type", - "description": "A code for the type of location", + "name": "near", + "description": "Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes).\nIf the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to what distances should be considered near (and units are irrelevant)\n\nServers may search using various techniques that might have differing accuracies, depending on implementation efficiency.\n\nRequires the near-distance parameter to be provided also", "in": "query", "required": false, "schema": { @@ -22936,22 +22936,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -23149,8 +23149,8 @@ "operationId": "searchMeasure", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", + "name": "date", + "description": "The measure publication date", "in": "query", "required": false, "schema": { @@ -23158,8 +23158,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the measure", + "name": "effective", + "description": "The time during which the measure is intended to be in use", "in": "query", "required": false, "schema": { @@ -23167,8 +23167,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the measure", + "name": "title", + "description": "The human-friendly name of the measure", "in": "query", "required": false, "schema": { @@ -23176,8 +23176,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the measure", + "name": "publisher", + "description": "Name of the publisher of the measure", "in": "query", "required": false, "schema": { @@ -23185,8 +23185,8 @@ } }, { - "name": "date", - "description": "The measure publication date", + "name": "name", + "description": "Computationally friendly name of the measure", "in": "query", "required": false, "schema": { @@ -23194,8 +23194,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "description", + "description": "The description of the measure", "in": "query", "required": false, "schema": { @@ -23203,8 +23203,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "jurisdiction", + "description": "Intended jurisdiction for the measure", "in": "query", "required": false, "schema": { @@ -23212,8 +23212,8 @@ } }, { - "name": "description", - "description": "The description of the measure", + "name": "status", + "description": "The current status of the measure", "in": "query", "required": false, "schema": { @@ -23221,8 +23221,8 @@ } }, { - "name": "effective", - "description": "The time during which the measure is intended to be in use", + "name": "context-type", + "description": "A type of use context assigned to the measure", "in": "query", "required": false, "schema": { @@ -23230,8 +23230,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the measure", + "name": "version", + "description": "The business version of the measure", "in": "query", "required": false, "schema": { @@ -23239,8 +23239,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the measure", + "name": "topic", + "description": "Topics associated with the measure", "in": "query", "required": false, "schema": { @@ -23248,8 +23248,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the measure", + "name": "identifier", + "description": "External identifier for the measure", "in": "query", "required": false, "schema": { @@ -23257,8 +23257,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "context", + "description": "A use context assigned to the measure", "in": "query", "required": false, "schema": { @@ -23266,8 +23266,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the measure", + "name": "successor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -23275,8 +23275,8 @@ } }, { - "name": "status", - "description": "The current status of the measure", + "name": "depends-on", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -23284,7 +23284,7 @@ } }, { - "name": "successor", + "name": "composed-of", "description": "What resource is being referenced", "in": "query", "required": false, @@ -23293,8 +23293,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the measure", + "name": "predecessor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -23302,8 +23302,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the measure", + "name": "derived-from", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -23311,8 +23311,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the measure", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the measure", "in": "query", "required": false, "schema": { @@ -23320,8 +23320,8 @@ } }, { - "name": "version", - "description": "The business version of the measure", + "name": "context-type-value", + "description": "A use context type and value assigned to the measure", "in": "query", "required": false, "schema": { @@ -23329,8 +23329,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the measure", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the measure", "in": "query", "required": false, "schema": { @@ -23338,8 +23338,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the measure", + "name": "url", + "description": "The uri that identifies the measure", "in": "query", "required": false, "schema": { @@ -23347,22 +23347,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -23569,8 +23569,8 @@ } }, { - "name": "evaluated-resource", - "description": "An evaluated resource referenced by the measure report", + "name": "period", + "description": "The period of the measure report", "in": "query", "required": false, "schema": { @@ -23587,8 +23587,8 @@ } }, { - "name": "measure", - "description": "The measure to return measure report results for", + "name": "status", + "description": "The status of the measure report", "in": "query", "required": false, "schema": { @@ -23596,8 +23596,8 @@ } }, { - "name": "patient", - "description": "The identity of a patient to search for individual measure report results for", + "name": "reporter", + "description": "The reporter to return measure report results for", "in": "query", "required": false, "schema": { @@ -23605,8 +23605,8 @@ } }, { - "name": "period", - "description": "The period of the measure report", + "name": "subject", + "description": "The identity of a subject to search for individual measure report results for", "in": "query", "required": false, "schema": { @@ -23614,8 +23614,8 @@ } }, { - "name": "reporter", - "description": "The reporter to return measure report results for", + "name": "measure", + "description": "The measure to return measure report results for", "in": "query", "required": false, "schema": { @@ -23623,8 +23623,8 @@ } }, { - "name": "status", - "description": "The status of the measure report", + "name": "patient", + "description": "The identity of a patient to search for individual measure report results for", "in": "query", "required": false, "schema": { @@ -23632,8 +23632,8 @@ } }, { - "name": "subject", - "description": "The identity of a subject to search for individual measure report results for", + "name": "evaluated-resource", + "description": "An evaluated resource referenced by the measure report", "in": "query", "required": false, "schema": { @@ -23641,22 +23641,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -23854,8 +23854,8 @@ "operationId": "searchMedia", "parameters": [ { - "name": "based-on", - "description": "Procedure that caused this media to be created", + "name": "created", + "description": "When Media was collected", "in": "query", "required": false, "schema": { @@ -23863,8 +23863,8 @@ } }, { - "name": "created", - "description": "When Media was collected", + "name": "site", + "description": "Observed body part", "in": "query", "required": false, "schema": { @@ -23872,8 +23872,8 @@ } }, { - "name": "device", - "description": "Observing Device", + "name": "type", + "description": "Classification of media as image, video, or audio", "in": "query", "required": false, "schema": { @@ -23881,8 +23881,8 @@ } }, { - "name": "encounter", - "description": "Encounter associated with media", + "name": "modality", + "description": "The type of acquisition equipment/process", "in": "query", "required": false, "schema": { @@ -23890,8 +23890,8 @@ } }, { - "name": "identifier", - "description": "Identifier(s) for the image", + "name": "status", + "description": "preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", "in": "query", "required": false, "schema": { @@ -23899,8 +23899,8 @@ } }, { - "name": "modality", - "description": "The type of acquisition equipment/process", + "name": "view", + "description": "Imaging view, e.g. Lateral or Antero-posterior", "in": "query", "required": false, "schema": { @@ -23908,8 +23908,8 @@ } }, { - "name": "operator", - "description": "The person who generated the image", + "name": "identifier", + "description": "Identifier(s) for the image", "in": "query", "required": false, "schema": { @@ -23917,8 +23917,8 @@ } }, { - "name": "patient", - "description": "Who/What this Media is a record of", + "name": "operator", + "description": "The person who generated the image", "in": "query", "required": false, "schema": { @@ -23926,8 +23926,8 @@ } }, { - "name": "site", - "description": "Observed body part", + "name": "patient", + "description": "Who/What this Media is a record of", "in": "query", "required": false, "schema": { @@ -23935,8 +23935,8 @@ } }, { - "name": "status", - "description": "preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", + "name": "encounter", + "description": "Encounter associated with media", "in": "query", "required": false, "schema": { @@ -23944,8 +23944,8 @@ } }, { - "name": "subject", - "description": "Who/What this Media is a record of", + "name": "based-on", + "description": "Procedure that caused this media to be created", "in": "query", "required": false, "schema": { @@ -23953,8 +23953,8 @@ } }, { - "name": "type", - "description": "Classification of media as image, video, or audio", + "name": "subject", + "description": "Who/What this Media is a record of", "in": "query", "required": false, "schema": { @@ -23962,8 +23962,8 @@ } }, { - "name": "view", - "description": "Imaging view, e.g. Lateral or Antero-posterior", + "name": "device", + "description": "Observing Device", "in": "query", "required": false, "schema": { @@ -23971,22 +23971,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -24183,15 +24183,6 @@ "summary": "Search for Medication resources", "operationId": "searchMedication", "parameters": [ - { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, { "name": "expiration-date", "description": "Returns medications in a batch with this expiration date", @@ -24211,8 +24202,8 @@ } }, { - "name": "identifier", - "description": "Returns medications with this external identifier", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -24220,8 +24211,8 @@ } }, { - "name": "ingredient", - "description": "Returns medications for this ingredient reference", + "name": "lot-number", + "description": "Returns medications in a batch with this lot number", "in": "query", "required": false, "schema": { @@ -24238,8 +24229,8 @@ } }, { - "name": "lot-number", - "description": "Returns medications in a batch with this lot number", + "name": "identifier", + "description": "Returns medications with this external identifier", "in": "query", "required": false, "schema": { @@ -24247,8 +24238,8 @@ } }, { - "name": "manufacturer", - "description": "Returns medications made or sold for this manufacturer", + "name": "status", + "description": "Returns medications for this status", "in": "query", "required": false, "schema": { @@ -24256,8 +24247,8 @@ } }, { - "name": "status", - "description": "Returns medications for this status", + "name": "ingredient", + "description": "Returns medications for this ingredient reference", "in": "query", "required": false, "schema": { @@ -24265,22 +24256,31 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "name": "manufacturer", + "description": "Returns medications made or sold for this manufacturer", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_tagParam" + }, + { + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -24478,8 +24478,8 @@ "operationId": "searchMedicationAdministration", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "effective-time", + "description": "Date administration happened (or did not happen)", "in": "query", "required": false, "schema": { @@ -24487,8 +24487,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "reason-given", + "description": "Reasons for administering the medication", "in": "query", "required": false, "schema": { @@ -24496,8 +24496,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -24505,8 +24505,8 @@ } }, { - "name": "context", - "description": "Return administrations that share this encounter or episode of care", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -24514,8 +24514,8 @@ } }, { - "name": "device", - "description": "Return administrations with this administration device identity", + "name": "reason-not-given", + "description": "Reasons for not administering the medication", "in": "query", "required": false, "schema": { @@ -24523,8 +24523,8 @@ } }, { - "name": "effective-time", - "description": "Date administration happened (or did not happen)", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified)\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status\r\n* [MedicationRequest](medicationrequest.html): Status of the prescription\r\n* [MedicationStatement](medicationstatement.html): Return statements that match the given status\r\n", "in": "query", "required": false, "schema": { @@ -24532,8 +24532,8 @@ } }, { - "name": "medication", - "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication resource\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", + "name": "context", + "description": "Return administrations that share this encounter or episode of care", "in": "query", "required": false, "schema": { @@ -24541,8 +24541,8 @@ } }, { - "name": "performer", - "description": "The identity of the individual who administered the medication", + "name": "subject", + "description": "The identity of the individual or group to list administrations for", "in": "query", "required": false, "schema": { @@ -24550,8 +24550,8 @@ } }, { - "name": "reason-given", - "description": "Reasons for administering the medication", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -24559,8 +24559,8 @@ } }, { - "name": "reason-not-given", - "description": "Reasons for not administering the medication", + "name": "request", + "description": "The identity of a request to list administrations from", "in": "query", "required": false, "schema": { @@ -24568,8 +24568,8 @@ } }, { - "name": "request", - "description": "The identity of a request to list administrations from", + "name": "device", + "description": "Return administrations with this administration device identity", "in": "query", "required": false, "schema": { @@ -24577,8 +24577,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified)\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status\r\n* [MedicationRequest](medicationrequest.html): Status of the prescription\r\n* [MedicationStatement](medicationstatement.html): Return statements that match the given status\r\n", + "name": "performer", + "description": "The identity of the individual who administered the medication", "in": "query", "required": false, "schema": { @@ -24586,8 +24586,8 @@ } }, { - "name": "subject", - "description": "The identity of the individual or group to list administrations for", + "name": "medication", + "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication resource\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", "in": "query", "required": false, "schema": { @@ -24595,22 +24595,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -24808,8 +24808,8 @@ "operationId": "searchMedicationDispense", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "whenprepared", + "description": "Returns dispenses prepared on this date", "in": "query", "required": false, "schema": { @@ -24817,8 +24817,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "whenhandedover", + "description": "Returns dispenses handed over on this date", "in": "query", "required": false, "schema": { @@ -24826,8 +24826,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -24835,8 +24835,8 @@ } }, { - "name": "medication", - "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication resource\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -24844,8 +24844,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified)\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status\r\n* [MedicationRequest](medicationrequest.html): Status of the prescription\r\n* [MedicationStatement](medicationstatement.html): Return statements that match the given status\r\n", + "name": "type", + "description": "Returns dispenses of a specific type", "in": "query", "required": false, "schema": { @@ -24853,8 +24853,8 @@ } }, { - "name": "context", - "description": "Returns dispenses with a specific context (episode or episode of care)", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified)\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status\r\n* [MedicationRequest](medicationrequest.html): Status of the prescription\r\n* [MedicationStatement](medicationstatement.html): Return statements that match the given status\r\n", "in": "query", "required": false, "schema": { @@ -24871,8 +24871,8 @@ } }, { - "name": "performer", - "description": "Returns dispenses performed by a specific individual", + "name": "responsibleparty", + "description": "Returns dispenses with the specified responsible party", "in": "query", "required": false, "schema": { @@ -24889,8 +24889,8 @@ } }, { - "name": "receiver", - "description": "The identity of a receiver to list dispenses for", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -24898,8 +24898,8 @@ } }, { - "name": "responsibleparty", - "description": "Returns dispenses with the specified responsible party", + "name": "medication", + "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication resource\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", "in": "query", "required": false, "schema": { @@ -24907,8 +24907,8 @@ } }, { - "name": "subject", - "description": "The identity of a patient for whom to list dispenses", + "name": "receiver", + "description": "The identity of a receiver to list dispenses for", "in": "query", "required": false, "schema": { @@ -24916,8 +24916,8 @@ } }, { - "name": "type", - "description": "Returns dispenses of a specific type", + "name": "subject", + "description": "The identity of a patient for whom to list dispenses", "in": "query", "required": false, "schema": { @@ -24925,8 +24925,8 @@ } }, { - "name": "whenhandedover", - "description": "Returns dispenses handed over on this date", + "name": "performer", + "description": "Returns dispenses performed by a specific individual", "in": "query", "required": false, "schema": { @@ -24934,8 +24934,8 @@ } }, { - "name": "whenprepared", - "description": "Returns dispenses prepared on this date", + "name": "context", + "description": "Returns dispenses with a specific context (episode or episode of care)", "in": "query", "required": false, "schema": { @@ -24943,22 +24943,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -25156,8 +25156,8 @@ "operationId": "searchMedicationKnowledge", "parameters": [ { - "name": "classification", - "description": "Specific category assigned to the medication", + "name": "ingredient-code", + "description": "Medication(s) or substance(s) contained in the medication", "in": "query", "required": false, "schema": { @@ -25165,8 +25165,8 @@ } }, { - "name": "classification-type", - "description": "The type of category for the medication (for example, therapeutic classification, therapeutic sub-classification)", + "name": "monograph-type", + "description": "The category of medication document", "in": "query", "required": false, "schema": { @@ -25174,8 +25174,8 @@ } }, { - "name": "code", - "description": "Code that identifies this medication", + "name": "monitoring-program-type", + "description": "Type of program under which the medication is monitored", "in": "query", "required": false, "schema": { @@ -25192,8 +25192,8 @@ } }, { - "name": "ingredient", - "description": "Medication(s) or substance(s) contained in the medication", + "name": "classification", + "description": "Specific category assigned to the medication", "in": "query", "required": false, "schema": { @@ -25201,8 +25201,8 @@ } }, { - "name": "ingredient-code", - "description": "Medication(s) or substance(s) contained in the medication", + "name": "source-cost", + "description": "The source or owner for the price information", "in": "query", "required": false, "schema": { @@ -25210,8 +25210,8 @@ } }, { - "name": "manufacturer", - "description": "Manufacturer of the item", + "name": "classification-type", + "description": "The type of category for the medication (for example, therapeutic classification, therapeutic sub-classification)", "in": "query", "required": false, "schema": { @@ -25219,8 +25219,8 @@ } }, { - "name": "monitoring-program-name", - "description": "Name of the reviewing program", + "name": "code", + "description": "Code that identifies this medication", "in": "query", "required": false, "schema": { @@ -25228,8 +25228,8 @@ } }, { - "name": "monitoring-program-type", - "description": "Type of program under which the medication is monitored", + "name": "status", + "description": "active | inactive | entered-in-error", "in": "query", "required": false, "schema": { @@ -25237,8 +25237,8 @@ } }, { - "name": "monograph", - "description": "Associated documentation about the medication", + "name": "monitoring-program-name", + "description": "Name of the reviewing program", "in": "query", "required": false, "schema": { @@ -25246,8 +25246,8 @@ } }, { - "name": "monograph-type", - "description": "The category of medication document", + "name": "monograph", + "description": "Associated documentation about the medication", "in": "query", "required": false, "schema": { @@ -25255,8 +25255,8 @@ } }, { - "name": "source-cost", - "description": "The source or owner for the price information", + "name": "ingredient", + "description": "Medication(s) or substance(s) contained in the medication", "in": "query", "required": false, "schema": { @@ -25264,8 +25264,8 @@ } }, { - "name": "status", - "description": "active | inactive | entered-in-error", + "name": "manufacturer", + "description": "Manufacturer of the item", "in": "query", "required": false, "schema": { @@ -25273,22 +25273,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -25486,8 +25486,8 @@ "operationId": "searchMedicationRequest", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [MedicationRequest](medicationrequest.html): Returns medication request to be administered on a specific date\r\n", "in": "query", "required": false, "schema": { @@ -25495,8 +25495,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "authoredon", + "description": "Return prescriptions written on this date", "in": "query", "required": false, "schema": { @@ -25504,8 +25504,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -25513,8 +25513,8 @@ } }, { - "name": "medication", - "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication resource\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", + "name": "category", + "description": "Returns prescriptions with different categories", "in": "query", "required": false, "schema": { @@ -25522,8 +25522,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified)\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status\r\n* [MedicationRequest](medicationrequest.html): Status of the prescription\r\n* [MedicationStatement](medicationstatement.html): Return statements that match the given status\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -25531,8 +25531,8 @@ } }, { - "name": "authoredon", - "description": "Return prescriptions written on this date", + "name": "priority", + "description": "Returns prescriptions with different priorities", "in": "query", "required": false, "schema": { @@ -25540,8 +25540,8 @@ } }, { - "name": "category", - "description": "Returns prescriptions with different categories", + "name": "intent", + "description": "Returns prescriptions with different intents", "in": "query", "required": false, "schema": { @@ -25549,8 +25549,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [MedicationRequest](medicationrequest.html): Returns medication request to be administered on a specific date\r\n", + "name": "intended-performertype", + "description": "Returns requests for a specific type of performer", "in": "query", "required": false, "schema": { @@ -25558,8 +25558,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this encounter identifier\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified)\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status\r\n* [MedicationRequest](medicationrequest.html): Status of the prescription\r\n* [MedicationStatement](medicationstatement.html): Return statements that match the given status\r\n", "in": "query", "required": false, "schema": { @@ -25567,8 +25567,8 @@ } }, { - "name": "intended-dispenser", - "description": "Returns prescriptions intended to be dispensed by this Organization", + "name": "subject", + "description": "The identity of a patient to list orders for", "in": "query", "required": false, "schema": { @@ -25576,8 +25576,8 @@ } }, { - "name": "intended-performer", - "description": "Returns the intended performer of the administration of the medication request", + "name": "requester", + "description": "Returns prescriptions prescribed by this prescriber", "in": "query", "required": false, "schema": { @@ -25585,8 +25585,8 @@ } }, { - "name": "intended-performertype", - "description": "Returns requests for a specific type of performer", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -25594,8 +25594,8 @@ } }, { - "name": "intent", - "description": "Returns prescriptions with different intents", + "name": "medication", + "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication resource\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", "in": "query", "required": false, "schema": { @@ -25603,8 +25603,8 @@ } }, { - "name": "priority", - "description": "Returns prescriptions with different priorities", + "name": "intended-performer", + "description": "Returns the intended performer of the administration of the medication request", "in": "query", "required": false, "schema": { @@ -25612,8 +25612,8 @@ } }, { - "name": "requester", - "description": "Returns prescriptions prescribed by this prescriber", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -25621,8 +25621,8 @@ } }, { - "name": "subject", - "description": "The identity of a patient to list orders for", + "name": "intended-dispenser", + "description": "Returns prescriptions intended to be dispensed by this Organization", "in": "query", "required": false, "schema": { @@ -25630,22 +25630,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -25843,8 +25843,8 @@ "operationId": "searchMedicationStatement", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "effective", + "description": "Date when patient was taking (or not taking) the medication", "in": "query", "required": false, "schema": { @@ -25852,8 +25852,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -25861,8 +25861,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -25870,8 +25870,8 @@ } }, { - "name": "medication", - "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication resource\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", + "name": "category", + "description": "Returns statements of this category of medicationstatement", "in": "query", "required": false, "schema": { @@ -25888,8 +25888,8 @@ } }, { - "name": "category", - "description": "Returns statements of this category of medicationstatement", + "name": "source", + "description": "Who or where the information in the statement came from", "in": "query", "required": false, "schema": { @@ -25897,8 +25897,8 @@ } }, { - "name": "context", - "description": "Returns statements for a specific context (episode or episode of Care).", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -25906,8 +25906,8 @@ } }, { - "name": "effective", - "description": "Date when patient was taking (or not taking) the medication", + "name": "part-of", + "description": "Returns statements that are part of another event.", "in": "query", "required": false, "schema": { @@ -25915,8 +25915,8 @@ } }, { - "name": "part-of", - "description": "Returns statements that are part of another event.", + "name": "medication", + "description": "Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication resource\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", "in": "query", "required": false, "schema": { @@ -25924,8 +25924,8 @@ } }, { - "name": "source", - "description": "Who or where the information in the statement came from", + "name": "subject", + "description": "The identity of a patient, animal or group to list statements for", "in": "query", "required": false, "schema": { @@ -25933,8 +25933,8 @@ } }, { - "name": "subject", - "description": "The identity of a patient, animal or group to list statements for", + "name": "context", + "description": "Returns statements for a specific context (episode or episode of Care).", "in": "query", "required": false, "schema": { @@ -25942,22 +25942,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -26155,8 +26155,8 @@ "operationId": "searchMedicinalProduct", "parameters": [ { - "name": "identifier", - "description": "Business identifier for this product. Could be an MPID", + "name": "name", + "description": "The full product name", "in": "query", "required": false, "schema": { @@ -26164,8 +26164,8 @@ } }, { - "name": "name", - "description": "The full product name", + "name": "identifier", + "description": "Business identifier for this product. Could be an MPID", "in": "query", "required": false, "schema": { @@ -26182,22 +26182,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -26404,8 +26404,8 @@ } }, { - "name": "holder", - "description": "Marketing Authorization Holder", + "name": "status", + "description": "The status of the marketing authorization", "in": "query", "required": false, "schema": { @@ -26422,8 +26422,8 @@ } }, { - "name": "status", - "description": "The status of the marketing authorization", + "name": "subject", + "description": "The medicinal product that is being authorized", "in": "query", "required": false, "schema": { @@ -26431,8 +26431,8 @@ } }, { - "name": "subject", - "description": "The medicinal product that is being authorized", + "name": "holder", + "description": "Marketing Authorization Holder", "in": "query", "required": false, "schema": { @@ -26440,22 +26440,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -26662,22 +26662,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -26884,22 +26884,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -27301,22 +27301,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -27727,22 +27727,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -27949,8 +27949,8 @@ } }, { - "name": "route", - "description": "Coded expression for the route", + "name": "target-species", + "description": "Coded expression for the species", "in": "query", "required": false, "schema": { @@ -27958,8 +27958,8 @@ } }, { - "name": "target-species", - "description": "Coded expression for the species", + "name": "route", + "description": "Coded expression for the route", "in": "query", "required": false, "schema": { @@ -27967,22 +27967,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -28189,22 +28189,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -28402,8 +28402,8 @@ "operationId": "searchMessageDefinition", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -28411,8 +28411,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -28420,8 +28420,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -28429,8 +28429,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -28438,8 +28438,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -28447,8 +28447,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -28456,8 +28456,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "focus", + "description": "A resource that is a permitted focus of the message", "in": "query", "required": false, "schema": { @@ -28465,8 +28465,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -28474,8 +28474,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -28483,8 +28483,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -28492,8 +28492,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "event", + "description": "The event that triggers the message or link to the event definition.", "in": "query", "required": false, "schema": { @@ -28501,8 +28501,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "category", + "description": "The behavior associated with the message", "in": "query", "required": false, "schema": { @@ -28510,8 +28510,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -28519,8 +28519,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", "in": "query", "required": false, "schema": { @@ -28528,8 +28528,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", + "name": "parent", + "description": "A resource that is the parent of the definition", "in": "query", "required": false, "schema": { @@ -28537,8 +28537,8 @@ } }, { - "name": "category", - "description": "The behavior associated with the message", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -28546,8 +28546,8 @@ } }, { - "name": "event", - "description": "The event that triggers the message or link to the event definition.", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -28555,8 +28555,8 @@ } }, { - "name": "focus", - "description": "A resource that is a permitted focus of the message", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -28564,8 +28564,8 @@ } }, { - "name": "parent", - "description": "A resource that is the parent of the definition", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -28573,22 +28573,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -28786,17 +28786,8 @@ "operationId": "searchMessageHeader", "parameters": [ { - "name": "author", - "description": "The source of the decision", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "code", - "description": "ok | transient-error | fatal-error", + "name": "source", + "description": "Name of system", "in": "query", "required": false, "schema": { @@ -28813,8 +28804,8 @@ } }, { - "name": "destination-uri", - "description": "Actual destination address or id", + "name": "code", + "description": "ok | transient-error | fatal-error", "in": "query", "required": false, "schema": { @@ -28822,8 +28813,8 @@ } }, { - "name": "enterer", - "description": "The source of the data entry", + "name": "response-id", + "description": "Id of original message", "in": "query", "required": false, "schema": { @@ -28849,8 +28840,8 @@ } }, { - "name": "receiver", - "description": "Intended \"real-world\" recipient for the data", + "name": "author", + "description": "The source of the decision", "in": "query", "required": false, "schema": { @@ -28858,8 +28849,8 @@ } }, { - "name": "response-id", - "description": "Id of original message", + "name": "enterer", + "description": "The source of the data entry", "in": "query", "required": false, "schema": { @@ -28885,8 +28876,17 @@ } }, { - "name": "source", - "description": "Name of system", + "name": "receiver", + "description": "Intended \"real-world\" recipient for the data", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "target", + "description": "Particular delivery destination within the destination", "in": "query", "required": false, "schema": { @@ -28903,8 +28903,8 @@ } }, { - "name": "target", - "description": "Particular delivery destination within the destination", + "name": "destination-uri", + "description": "Actual destination address or id", "in": "query", "required": false, "schema": { @@ -28912,22 +28912,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -29125,8 +29125,8 @@ "operationId": "searchMolecularSequence", "parameters": [ { - "name": "chromosome", - "description": "Chromosome number of the reference sequence", + "name": "variant-end", + "description": "End position (0-based exclusive, which menas the acid at this position will not be included, 1-based inclusive, which means the acid at this position will be included) of the variant.", "in": "query", "required": false, "schema": { @@ -29134,8 +29134,8 @@ } }, { - "name": "identifier", - "description": "The unique identity for a particular sequence", + "name": "window-start", + "description": "Start position (0-based inclusive, 1-based inclusive, that means the nucleic acid or amino acid at this position will be included) of the reference sequence.", "in": "query", "required": false, "schema": { @@ -29143,8 +29143,8 @@ } }, { - "name": "patient", - "description": "The subject that the observation is about", + "name": "window-end", + "description": "End position (0-based exclusive, which menas the acid at this position will not be included, 1-based inclusive, which means the acid at this position will be included) of the reference sequence.", "in": "query", "required": false, "schema": { @@ -29152,8 +29152,8 @@ } }, { - "name": "referenceseqid", - "description": "Reference Sequence of the sequence", + "name": "variant-start", + "description": "Start position (0-based inclusive, 1-based inclusive, that means the nucleic acid or amino acid at this position will be included) of the variant.", "in": "query", "required": false, "schema": { @@ -29161,8 +29161,8 @@ } }, { - "name": "type", - "description": "Amino Acid Sequence/ DNA Sequence / RNA Sequence", + "name": "chromosome", + "description": "Chromosome number of the reference sequence", "in": "query", "required": false, "schema": { @@ -29170,8 +29170,8 @@ } }, { - "name": "variant-end", - "description": "End position (0-based exclusive, which menas the acid at this position will not be included, 1-based inclusive, which means the acid at this position will be included) of the variant.", + "name": "identifier", + "description": "The unique identity for a particular sequence", "in": "query", "required": false, "schema": { @@ -29179,8 +29179,8 @@ } }, { - "name": "variant-start", - "description": "Start position (0-based inclusive, 1-based inclusive, that means the nucleic acid or amino acid at this position will be included) of the variant.", + "name": "type", + "description": "Amino Acid Sequence/ DNA Sequence / RNA Sequence", "in": "query", "required": false, "schema": { @@ -29188,8 +29188,8 @@ } }, { - "name": "window-end", - "description": "End position (0-based exclusive, which menas the acid at this position will not be included, 1-based inclusive, which means the acid at this position will be included) of the reference sequence.", + "name": "referenceseqid", + "description": "Reference Sequence of the sequence", "in": "query", "required": false, "schema": { @@ -29197,8 +29197,8 @@ } }, { - "name": "window-start", - "description": "Start position (0-based inclusive, 1-based inclusive, that means the nucleic acid or amino acid at this position will be included) of the reference sequence.", + "name": "patient", + "description": "The subject that the observation is about", "in": "query", "required": false, "schema": { @@ -29224,8 +29224,8 @@ } }, { - "name": "referenceseqid-variant-coordinate", - "description": "Search parameter by reference sequence and variant coordinate. This will refer to part of a locus or part of a gene where search region will be represented in 1-based system. Since the coordinateSystem can either be 0-based or 1-based, this search query will include the result of both coordinateSystem that contains the equivalent segment of the gene or whole genome sequence. For example, a search for sequence can be represented as `referenceSeqId-variant-coordinate=NC_000001.11$lt345$gt123`, this means it will search for the MolecularSequence resource with variants on NC_000001.11 and with position >123 and <345, where in 1-based system resource, all strings within region NC_000001.11:124-344 will be revealed, while in 0-based system resource, all strings within region NC_000001.11:123-344 will be revealed. You may want to check detail about 0-based v.s. 1-based above.", + "name": "referenceseqid-window-coordinate", + "description": "Search parameter by reference sequence and window. This will refer to part of a locus or part of a gene where search region will be represented in 1-based system. Since the coordinateSystem can either be 0-based or 1-based, this search query will include the result of both coordinateSystem that contains the equivalent segment of the gene or whole genome sequence. For example, a search for sequence can be represented as `referenceSeqId-window-coordinate=NC_000001.11$lt345$gt123`, this means it will search for the MolecularSequence resource with a window on NC_000001.11 and with position >123 and <345, where in 1-based system resource, all strings within region NC_000001.11:124-344 will be revealed, while in 0-based system resource, all strings within region NC_000001.11:123-344 will be revealed. You may want to check detail about 0-based v.s. 1-based above.", "in": "query", "required": false, "schema": { @@ -29233,8 +29233,8 @@ } }, { - "name": "referenceseqid-window-coordinate", - "description": "Search parameter by reference sequence and window. This will refer to part of a locus or part of a gene where search region will be represented in 1-based system. Since the coordinateSystem can either be 0-based or 1-based, this search query will include the result of both coordinateSystem that contains the equivalent segment of the gene or whole genome sequence. For example, a search for sequence can be represented as `referenceSeqId-window-coordinate=NC_000001.11$lt345$gt123`, this means it will search for the MolecularSequence resource with a window on NC_000001.11 and with position >123 and <345, where in 1-based system resource, all strings within region NC_000001.11:124-344 will be revealed, while in 0-based system resource, all strings within region NC_000001.11:123-344 will be revealed. You may want to check detail about 0-based v.s. 1-based above.", + "name": "referenceseqid-variant-coordinate", + "description": "Search parameter by reference sequence and variant coordinate. This will refer to part of a locus or part of a gene where search region will be represented in 1-based system. Since the coordinateSystem can either be 0-based or 1-based, this search query will include the result of both coordinateSystem that contains the equivalent segment of the gene or whole genome sequence. For example, a search for sequence can be represented as `referenceSeqId-variant-coordinate=NC_000001.11$lt345$gt123`, this means it will search for the MolecularSequence resource with variants on NC_000001.11 and with position >123 and <345, where in 1-based system resource, all strings within region NC_000001.11:124-344 will be revealed, while in 0-based system resource, all strings within region NC_000001.11:123-344 will be revealed. You may want to check detail about 0-based v.s. 1-based above.", "in": "query", "required": false, "schema": { @@ -29242,22 +29242,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -29455,8 +29455,8 @@ "operationId": "searchNamingSystem", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "period", + "description": "When is identifier valid?", "in": "query", "required": false, "schema": { @@ -29464,8 +29464,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -29473,8 +29473,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "responsible", + "description": "Who maintains system namespace?", "in": "query", "required": false, "schema": { @@ -29482,8 +29482,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -29491,8 +29491,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -29500,8 +29500,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -29509,8 +29509,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "contact", + "description": "Name of an individual to contact", "in": "query", "required": false, "schema": { @@ -29518,8 +29518,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "value", + "description": "The unique identifier", "in": "query", "required": false, "schema": { @@ -29536,8 +29536,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "id-type", + "description": "oid | uuid | uri | other", "in": "query", "required": false, "schema": { @@ -29545,8 +29545,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "kind", + "description": "codesystem | identifier | root", "in": "query", "required": false, "schema": { @@ -29554,8 +29554,8 @@ } }, { - "name": "contact", - "description": "Name of an individual to contact", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -29563,8 +29563,8 @@ } }, { - "name": "id-type", - "description": "oid | uuid | uri | other", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -29572,8 +29572,8 @@ } }, { - "name": "kind", - "description": "codesystem | identifier | root", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -29581,8 +29581,8 @@ } }, { - "name": "period", - "description": "When is identifier valid?", + "name": "telecom", + "description": "Contact details for individual or organization", "in": "query", "required": false, "schema": { @@ -29590,8 +29590,8 @@ } }, { - "name": "responsible", - "description": "Who maintains system namespace?", + "name": "type", + "description": "e.g. driver, provider, patient, bank etc.", "in": "query", "required": false, "schema": { @@ -29599,8 +29599,8 @@ } }, { - "name": "telecom", - "description": "Contact details for individual or organization", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -29608,8 +29608,8 @@ } }, { - "name": "type", - "description": "e.g. driver, provider, patient, bank etc.", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -29617,8 +29617,8 @@ } }, { - "name": "value", - "description": "The unique identifier", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -29626,22 +29626,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -29839,8 +29839,8 @@ "operationId": "searchNutritionOrder", "parameters": [ { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "datetime", + "description": "Return nutrition orders requested on this date", "in": "query", "required": false, "schema": { @@ -29848,8 +29848,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "oraldiet", + "description": "Type of diet that can be consumed orally (i.e., take via the mouth).", "in": "query", "required": false, "schema": { @@ -29857,8 +29857,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "status", + "description": "Status of the nutrition order.", "in": "query", "required": false, "schema": { @@ -29875,8 +29875,8 @@ } }, { - "name": "datetime", - "description": "Return nutrition orders requested on this date", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -29884,8 +29884,8 @@ } }, { - "name": "formula", - "description": "Type of enteral or infant formula", + "name": "supplement", + "description": "Type of supplement product requested", "in": "query", "required": false, "schema": { @@ -29893,8 +29893,8 @@ } }, { - "name": "instantiates-canonical", - "description": "Instantiates FHIR protocol or definition", + "name": "formula", + "description": "Type of enteral or infant formula", "in": "query", "required": false, "schema": { @@ -29902,8 +29902,8 @@ } }, { - "name": "instantiates-uri", - "description": "Instantiates external protocol or definition", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -29911,8 +29911,8 @@ } }, { - "name": "oraldiet", - "description": "Type of diet that can be consumed orally (i.e., take via the mouth).", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -29929,8 +29929,8 @@ } }, { - "name": "status", - "description": "Status of the nutrition order.", + "name": "instantiates-canonical", + "description": "Instantiates FHIR protocol or definition", "in": "query", "required": false, "schema": { @@ -29938,8 +29938,8 @@ } }, { - "name": "supplement", - "description": "Type of supplement product requested", + "name": "instantiates-uri", + "description": "Instantiates external protocol or definition", "in": "query", "required": false, "schema": { @@ -29947,22 +29947,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -30160,8 +30160,8 @@ "operationId": "searchObservation", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "value-date", + "description": "The value of the observation, if the value is a date or period of time", "in": "query", "required": false, "schema": { @@ -30177,6 +30177,51 @@ "type": "string" } }, + { + "name": "value-string", + "description": "The value of the observation, if the value is a string, and also searches in CodeableConcept.text", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "status", + "description": "The status of the observation", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "data-absent-reason", + "description": "The reason why the expected value in the element Observation.value[x] is missing.", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "component-data-absent-reason", + "description": "The reason why the expected value in the element Observation.component.value[x] is missing.", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "identifier", "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", @@ -30187,8 +30232,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "component-value-concept", + "description": "The value of the component observation, if the value is a CodeableConcept", "in": "query", "required": false, "schema": { @@ -30196,8 +30241,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "combo-value-concept", + "description": "The value or component value of the observation, if the value is a CodeableConcept", "in": "query", "required": false, "schema": { @@ -30205,8 +30250,8 @@ } }, { - "name": "based-on", - "description": "Reference to the service request.", + "name": "value-concept", + "description": "The value of the observation, if the value is a CodeableConcept", "in": "query", "required": false, "schema": { @@ -30214,8 +30259,8 @@ } }, { - "name": "category", - "description": "The classification of the type of observation", + "name": "method", + "description": "The method used for the observation", "in": "query", "required": false, "schema": { @@ -30240,24 +30285,6 @@ "type": "string" } }, - { - "name": "combo-value-concept", - "description": "The value or component value of the observation, if the value is a CodeableConcept", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "combo-value-quantity", - "description": "The value or component value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, { "name": "component-code", "description": "The component code of the observation type", @@ -30268,26 +30295,8 @@ } }, { - "name": "component-data-absent-reason", - "description": "The reason why the expected value in the element Observation.component.value[x] is missing.", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "component-value-concept", - "description": "The value of the component observation, if the value is a CodeableConcept", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "component-value-quantity", - "description": "The value of the component observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)", + "name": "category", + "description": "The classification of the type of observation", "in": "query", "required": false, "schema": { @@ -30295,8 +30304,8 @@ } }, { - "name": "data-absent-reason", - "description": "The reason why the expected value in the element Observation.value[x] is missing.", + "name": "device", + "description": "The Device that generated the observation data.", "in": "query", "required": false, "schema": { @@ -30304,8 +30313,8 @@ } }, { - "name": "derived-from", - "description": "Related measurements the observation is made from", + "name": "part-of", + "description": "Part of referenced event", "in": "query", "required": false, "schema": { @@ -30313,8 +30322,8 @@ } }, { - "name": "device", - "description": "The Device that generated the observation data.", + "name": "based-on", + "description": "Reference to the service request.", "in": "query", "required": false, "schema": { @@ -30322,8 +30331,8 @@ } }, { - "name": "focus", - "description": "The focus of an observation when the focus is not the patient of record.", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -30331,8 +30340,8 @@ } }, { - "name": "has-member", - "description": "Related resource that belongs to the Observation group", + "name": "performer", + "description": "Who performed the observation", "in": "query", "required": false, "schema": { @@ -30340,8 +30349,8 @@ } }, { - "name": "method", - "description": "The method used for the observation", + "name": "specimen", + "description": "Specimen used for this observation", "in": "query", "required": false, "schema": { @@ -30349,8 +30358,8 @@ } }, { - "name": "part-of", - "description": "Part of referenced event", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -30358,8 +30367,8 @@ } }, { - "name": "performer", - "description": "Who performed the observation", + "name": "derived-from", + "description": "Related measurements the observation is made from", "in": "query", "required": false, "schema": { @@ -30367,8 +30376,8 @@ } }, { - "name": "specimen", - "description": "Specimen used for this observation", + "name": "focus", + "description": "The focus of an observation when the focus is not the patient of record.", "in": "query", "required": false, "schema": { @@ -30376,8 +30385,8 @@ } }, { - "name": "status", - "description": "The status of the observation", + "name": "has-member", + "description": "Related resource that belongs to the Observation group", "in": "query", "required": false, "schema": { @@ -30394,17 +30403,8 @@ } }, { - "name": "value-concept", - "description": "The value of the observation, if the value is a CodeableConcept", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "value-date", - "description": "The value of the observation, if the value is a date or period of time", + "name": "combo-code-value-concept", + "description": "Code and coded value parameter pair, including in components", "in": "query", "required": false, "schema": { @@ -30412,8 +30412,8 @@ } }, { - "name": "value-quantity", - "description": "The value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)", + "name": "component-code-value-concept", + "description": "Component code and component coded value parameter pair", "in": "query", "required": false, "schema": { @@ -30421,8 +30421,8 @@ } }, { - "name": "value-string", - "description": "The value of the observation, if the value is a string, and also searches in CodeableConcept.text", + "name": "code-value-concept", + "description": "Code and coded value parameter pair", "in": "query", "required": false, "schema": { @@ -30430,8 +30430,8 @@ } }, { - "name": "code-value-concept", - "description": "Code and coded value parameter pair", + "name": "code-value-quantity", + "description": "Code and quantity value parameter pair", "in": "query", "required": false, "schema": { @@ -30439,8 +30439,8 @@ } }, { - "name": "code-value-date", - "description": "Code and date/time value parameter pair", + "name": "code-value-string", + "description": "Code and string value parameter pair", "in": "query", "required": false, "schema": { @@ -30448,8 +30448,8 @@ } }, { - "name": "code-value-quantity", - "description": "Code and quantity value parameter pair", + "name": "combo-code-value-quantity", + "description": "Code and quantity value parameter pair, including in components", "in": "query", "required": false, "schema": { @@ -30457,8 +30457,8 @@ } }, { - "name": "code-value-string", - "description": "Code and string value parameter pair", + "name": "code-value-date", + "description": "Code and date/time value parameter pair", "in": "query", "required": false, "schema": { @@ -30466,8 +30466,8 @@ } }, { - "name": "combo-code-value-concept", - "description": "Code and coded value parameter pair, including in components", + "name": "component-code-value-quantity", + "description": "Component code and component quantity value parameter pair", "in": "query", "required": false, "schema": { @@ -30475,8 +30475,8 @@ } }, { - "name": "combo-code-value-quantity", - "description": "Code and quantity value parameter pair, including in components", + "name": "combo-value-quantity", + "description": "The value or component value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)", "in": "query", "required": false, "schema": { @@ -30484,8 +30484,8 @@ } }, { - "name": "component-code-value-concept", - "description": "Component code and component coded value parameter pair", + "name": "value-quantity", + "description": "The value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)", "in": "query", "required": false, "schema": { @@ -30493,8 +30493,8 @@ } }, { - "name": "component-code-value-quantity", - "description": "Component code and component quantity value parameter pair", + "name": "component-value-quantity", + "description": "The value of the component observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)", "in": "query", "required": false, "schema": { @@ -30502,22 +30502,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -30910,8 +30910,8 @@ "operationId": "searchOperationDefinition", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -30919,8 +30919,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -30928,8 +30928,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -30937,8 +30937,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -30946,8 +30946,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -30955,8 +30955,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -30964,8 +30964,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -30973,8 +30973,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "kind", + "description": "operation | query", "in": "query", "required": false, "schema": { @@ -30982,8 +30982,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "system", + "description": "Invoke at the system level?", "in": "query", "required": false, "schema": { @@ -30991,8 +30991,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -31000,8 +31000,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "instance", + "description": "Invoke on an instance?", "in": "query", "required": false, "schema": { @@ -31009,8 +31009,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -31018,8 +31018,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "type", + "description": "Invoke at the type level?", "in": "query", "required": false, "schema": { @@ -31027,8 +31027,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -31036,8 +31036,8 @@ } }, { - "name": "base", - "description": "Marks this as a profile of the base", + "name": "code", + "description": "Name used to invoke the operation", "in": "query", "required": false, "schema": { @@ -31045,8 +31045,8 @@ } }, { - "name": "code", - "description": "Name used to invoke the operation", + "name": "base", + "description": "Marks this as a profile of the base", "in": "query", "required": false, "schema": { @@ -31063,8 +31063,8 @@ } }, { - "name": "instance", - "description": "Invoke on an instance?", + "name": "output-profile", + "description": "Validation information for out parameters", "in": "query", "required": false, "schema": { @@ -31072,8 +31072,8 @@ } }, { - "name": "kind", - "description": "operation | query", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -31081,8 +31081,8 @@ } }, { - "name": "output-profile", - "description": "Validation information for out parameters", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -31090,8 +31090,8 @@ } }, { - "name": "system", - "description": "Invoke at the system level?", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -31099,8 +31099,8 @@ } }, { - "name": "type", - "description": "Invoke at the type level?", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -31108,22 +31108,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -31516,8 +31516,8 @@ "operationId": "searchOrganization", "parameters": [ { - "name": "active", - "description": "Is the Organization record active", + "name": "address-state", + "description": "A state specified in an address", "in": "query", "required": false, "schema": { @@ -31525,8 +31525,8 @@ } }, { - "name": "address", - "description": "A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text", + "name": "address-country", + "description": "A country specified in an address", "in": "query", "required": false, "schema": { @@ -31534,8 +31534,8 @@ } }, { - "name": "address-city", - "description": "A city specified in an address", + "name": "address-postalcode", + "description": "A postal code specified in an address", "in": "query", "required": false, "schema": { @@ -31543,8 +31543,8 @@ } }, { - "name": "address-country", - "description": "A country specified in an address", + "name": "address", + "description": "A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text", "in": "query", "required": false, "schema": { @@ -31552,8 +31552,8 @@ } }, { - "name": "address-postalcode", - "description": "A postal code specified in an address", + "name": "address-city", + "description": "A city specified in an address", "in": "query", "required": false, "schema": { @@ -31561,8 +31561,8 @@ } }, { - "name": "address-state", - "description": "A state specified in an address", + "name": "name", + "description": "A portion of the organization's name or alias", "in": "query", "required": false, "schema": { @@ -31570,8 +31570,8 @@ } }, { - "name": "address-use", - "description": "A use code specified in an address", + "name": "phonetic", + "description": "A portion of the organization's name using some kind of phonetic matching algorithm", "in": "query", "required": false, "schema": { @@ -31579,8 +31579,8 @@ } }, { - "name": "endpoint", - "description": "Technical endpoints providing access to services operated for the organization", + "name": "address-use", + "description": "A use code specified in an address", "in": "query", "required": false, "schema": { @@ -31588,8 +31588,8 @@ } }, { - "name": "identifier", - "description": "Any identifier for the organization (not the accreditation issuer's identifier)", + "name": "type", + "description": "A code for the type of organization", "in": "query", "required": false, "schema": { @@ -31597,8 +31597,8 @@ } }, { - "name": "name", - "description": "A portion of the organization's name or alias", + "name": "active", + "description": "Is the Organization record active", "in": "query", "required": false, "schema": { @@ -31606,8 +31606,8 @@ } }, { - "name": "partof", - "description": "An organization of which this organization forms a part", + "name": "identifier", + "description": "Any identifier for the organization (not the accreditation issuer's identifier)", "in": "query", "required": false, "schema": { @@ -31615,8 +31615,8 @@ } }, { - "name": "phonetic", - "description": "A portion of the organization's name using some kind of phonetic matching algorithm", + "name": "endpoint", + "description": "Technical endpoints providing access to services operated for the organization", "in": "query", "required": false, "schema": { @@ -31624,8 +31624,8 @@ } }, { - "name": "type", - "description": "A code for the type of organization", + "name": "partof", + "description": "An organization of which this organization forms a part", "in": "query", "required": false, "schema": { @@ -31633,22 +31633,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -31845,15 +31845,6 @@ "summary": "Search for OrganizationAffiliation resources", "operationId": "searchOrganizationAffiliation", "parameters": [ - { - "name": "active", - "description": "Whether this organization affiliation record is in active use", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, { "name": "date", "description": "The period during which the participatingOrganization is affiliated with the primary organization", @@ -31873,8 +31864,8 @@ } }, { - "name": "endpoint", - "description": "Technical endpoints providing access to services operated for this role", + "name": "role", + "description": "Definition of the role the participatingOrganization plays", "in": "query", "required": false, "schema": { @@ -31882,8 +31873,8 @@ } }, { - "name": "identifier", - "description": "An organization affiliation's Identifier", + "name": "specialty", + "description": "Specific specialty of the participatingOrganization in the context of the role", "in": "query", "required": false, "schema": { @@ -31891,8 +31882,8 @@ } }, { - "name": "location", - "description": "The location(s) at which the role occurs", + "name": "telecom", + "description": "The value in any kind of contact", "in": "query", "required": false, "schema": { @@ -31900,8 +31891,8 @@ } }, { - "name": "network", - "description": "Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined)", + "name": "active", + "description": "Whether this organization affiliation record is in active use", "in": "query", "required": false, "schema": { @@ -31909,8 +31900,8 @@ } }, { - "name": "participating-organization", - "description": "The organization that provides services to the primary organization", + "name": "identifier", + "description": "An organization affiliation's Identifier", "in": "query", "required": false, "schema": { @@ -31927,8 +31918,8 @@ } }, { - "name": "primary-organization", - "description": "The organization that receives the services from the participating organization", + "name": "location", + "description": "The location(s) at which the role occurs", "in": "query", "required": false, "schema": { @@ -31936,8 +31927,8 @@ } }, { - "name": "role", - "description": "Definition of the role the participatingOrganization plays", + "name": "network", + "description": "Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined)", "in": "query", "required": false, "schema": { @@ -31945,8 +31936,8 @@ } }, { - "name": "service", - "description": "Healthcare services provided through the role", + "name": "participating-organization", + "description": "The organization that provides services to the primary organization", "in": "query", "required": false, "schema": { @@ -31954,8 +31945,8 @@ } }, { - "name": "specialty", - "description": "Specific specialty of the participatingOrganization in the context of the role", + "name": "primary-organization", + "description": "The organization that receives the services from the participating organization", "in": "query", "required": false, "schema": { @@ -31963,8 +31954,8 @@ } }, { - "name": "telecom", - "description": "The value in any kind of contact", + "name": "endpoint", + "description": "Technical endpoints providing access to services operated for this role", "in": "query", "required": false, "schema": { @@ -31972,22 +31963,31 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "name": "service", + "description": "Healthcare services provided through the role", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_tagParam" + }, + { + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -32185,8 +32185,17 @@ "operationId": "searchPatient", "parameters": [ { - "name": "active", - "description": "Whether the patient record is active", + "name": "birthdate", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The patient's date of birth\r\n* [Person](person.html): The person's date of birth\r\n* [RelatedPerson](relatedperson.html): The Related Person's date of birth\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "death-date", + "description": "The date of death has been provided and satisfies this search value", "in": "query", "required": false, "schema": { @@ -32203,8 +32212,8 @@ } }, { - "name": "address-city", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", + "name": "phonetic", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", "in": "query", "required": false, "schema": { @@ -32221,8 +32230,8 @@ } }, { - "name": "address-postalcode", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", + "name": "name", + "description": "A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", "in": "query", "required": false, "schema": { @@ -32230,8 +32239,8 @@ } }, { - "name": "address-state", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A state specified in an address\r\n* [Person](person.html): A state specified in an address\r\n* [Practitioner](practitioner.html): A state specified in an address\r\n* [RelatedPerson](relatedperson.html): A state specified in an address\r\n", + "name": "address-city", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -32239,8 +32248,8 @@ } }, { - "name": "address-use", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", + "name": "address-state", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A state specified in an address\r\n* [Person](person.html): A state specified in an address\r\n* [Practitioner](practitioner.html): A state specified in an address\r\n* [RelatedPerson](relatedperson.html): A state specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -32248,8 +32257,8 @@ } }, { - "name": "birthdate", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The patient's date of birth\r\n* [Person](person.html): The person's date of birth\r\n* [RelatedPerson](relatedperson.html): The Related Person's date of birth\r\n", + "name": "given", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of the given name of the patient\r\n* [Practitioner](practitioner.html): A portion of the given name\r\n", "in": "query", "required": false, "schema": { @@ -32257,8 +32266,8 @@ } }, { - "name": "death-date", - "description": "The date of death has been provided and satisfies this search value", + "name": "address-postalcode", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -32266,8 +32275,8 @@ } }, { - "name": "deceased", - "description": "This patient has been marked as deceased, or as a death date entered", + "name": "family", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of the family name of the patient\r\n* [Practitioner](practitioner.html): A portion of the family name\r\n", "in": "query", "required": false, "schema": { @@ -32284,8 +32293,8 @@ } }, { - "name": "family", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of the family name of the patient\r\n* [Practitioner](practitioner.html): A portion of the family name\r\n", + "name": "address-use", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -32293,8 +32302,8 @@ } }, { - "name": "gender", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", + "name": "phone", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", "in": "query", "required": false, "schema": { @@ -32302,8 +32311,8 @@ } }, { - "name": "general-practitioner", - "description": "Patient's nominated general practitioner, not the organization that manages the record", + "name": "active", + "description": "Whether the patient record is active", "in": "query", "required": false, "schema": { @@ -32311,8 +32320,8 @@ } }, { - "name": "given", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of the given name of the patient\r\n* [Practitioner](practitioner.html): A portion of the given name\r\n", + "name": "language", + "description": "Language code (irrespective of use value)", "in": "query", "required": false, "schema": { @@ -32320,8 +32329,8 @@ } }, { - "name": "identifier", - "description": "A patient identifier", + "name": "gender", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", "in": "query", "required": false, "schema": { @@ -32329,8 +32338,8 @@ } }, { - "name": "language", - "description": "Language code (irrespective of use value)", + "name": "telecom", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", "in": "query", "required": false, "schema": { @@ -32338,8 +32347,8 @@ } }, { - "name": "link", - "description": "All patients linked to the given patient", + "name": "deceased", + "description": "This patient has been marked as deceased, or as a death date entered", "in": "query", "required": false, "schema": { @@ -32347,8 +32356,8 @@ } }, { - "name": "name", - "description": "A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", + "name": "identifier", + "description": "A patient identifier", "in": "query", "required": false, "schema": { @@ -32365,17 +32374,8 @@ } }, { - "name": "phone", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "phonetic", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", + "name": "link", + "description": "All patients linked to the given patient", "in": "query", "required": false, "schema": { @@ -32383,8 +32383,8 @@ } }, { - "name": "telecom", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", + "name": "general-practitioner", + "description": "Patient's nominated general practitioner, not the organization that manages the record", "in": "query", "required": false, "schema": { @@ -32392,22 +32392,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -32614,8 +32614,8 @@ } }, { - "name": "identifier", - "description": "The business identifier of the notice", + "name": "payment-status", + "description": "The type of payment notice", "in": "query", "required": false, "schema": { @@ -32623,8 +32623,8 @@ } }, { - "name": "payment-status", - "description": "The type of payment notice", + "name": "status", + "description": "The status of the payment notice", "in": "query", "required": false, "schema": { @@ -32632,8 +32632,8 @@ } }, { - "name": "provider", - "description": "The reference to the provider", + "name": "identifier", + "description": "The business identifier of the notice", "in": "query", "required": false, "schema": { @@ -32650,8 +32650,8 @@ } }, { - "name": "response", - "description": "The ClaimResponse", + "name": "provider", + "description": "The reference to the provider", "in": "query", "required": false, "schema": { @@ -32659,8 +32659,8 @@ } }, { - "name": "status", - "description": "The status of the payment notice", + "name": "response", + "description": "The ClaimResponse", "in": "query", "required": false, "schema": { @@ -32668,22 +32668,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -32908,8 +32908,8 @@ } }, { - "name": "outcome", - "description": "The processing outcome", + "name": "status", + "description": "The status of the payment reconciliation", "in": "query", "required": false, "schema": { @@ -32917,8 +32917,8 @@ } }, { - "name": "payment-issuer", - "description": "The organization which generated this resource", + "name": "outcome", + "description": "The processing outcome", "in": "query", "required": false, "schema": { @@ -32926,8 +32926,8 @@ } }, { - "name": "request", - "description": "The reference to the claim", + "name": "requestor", + "description": "The reference to the provider who submitted the claim", "in": "query", "required": false, "schema": { @@ -32935,8 +32935,8 @@ } }, { - "name": "requestor", - "description": "The reference to the provider who submitted the claim", + "name": "request", + "description": "The reference to the claim", "in": "query", "required": false, "schema": { @@ -32944,8 +32944,8 @@ } }, { - "name": "status", - "description": "The status of the payment reconciliation", + "name": "payment-issuer", + "description": "The organization which generated this resource", "in": "query", "required": false, "schema": { @@ -32953,22 +32953,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -33166,8 +33166,8 @@ "operationId": "searchPerson", "parameters": [ { - "name": "address", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Person](person.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Practitioner](practitioner.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [RelatedPerson](relatedperson.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n", + "name": "birthdate", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The patient's date of birth\r\n* [Person](person.html): The person's date of birth\r\n* [RelatedPerson](relatedperson.html): The Related Person's date of birth\r\n", "in": "query", "required": false, "schema": { @@ -33175,8 +33175,8 @@ } }, { - "name": "address-city", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", + "name": "name", + "description": "A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", "in": "query", "required": false, "schema": { @@ -33184,8 +33184,8 @@ } }, { - "name": "address-country", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A country specified in an address\r\n* [Person](person.html): A country specified in an address\r\n* [Practitioner](practitioner.html): A country specified in an address\r\n* [RelatedPerson](relatedperson.html): A country specified in an address\r\n", + "name": "address", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Person](person.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Practitioner](practitioner.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [RelatedPerson](relatedperson.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n", "in": "query", "required": false, "schema": { @@ -33193,8 +33193,8 @@ } }, { - "name": "address-postalcode", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", + "name": "phonetic", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", "in": "query", "required": false, "schema": { @@ -33202,8 +33202,8 @@ } }, { - "name": "address-state", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A state specified in an address\r\n* [Person](person.html): A state specified in an address\r\n* [Practitioner](practitioner.html): A state specified in an address\r\n* [RelatedPerson](relatedperson.html): A state specified in an address\r\n", + "name": "address-country", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A country specified in an address\r\n* [Person](person.html): A country specified in an address\r\n* [Practitioner](practitioner.html): A country specified in an address\r\n* [RelatedPerson](relatedperson.html): A country specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -33211,8 +33211,8 @@ } }, { - "name": "address-use", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", + "name": "address-city", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -33220,8 +33220,8 @@ } }, { - "name": "birthdate", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The patient's date of birth\r\n* [Person](person.html): The person's date of birth\r\n* [RelatedPerson](relatedperson.html): The Related Person's date of birth\r\n", + "name": "address-state", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A state specified in an address\r\n* [Person](person.html): A state specified in an address\r\n* [Practitioner](practitioner.html): A state specified in an address\r\n* [RelatedPerson](relatedperson.html): A state specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -33229,8 +33229,8 @@ } }, { - "name": "email", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", + "name": "address-postalcode", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -33238,8 +33238,8 @@ } }, { - "name": "gender", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", + "name": "email", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", "in": "query", "required": false, "schema": { @@ -33247,8 +33247,8 @@ } }, { - "name": "phone", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", + "name": "address-use", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -33256,8 +33256,8 @@ } }, { - "name": "phonetic", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", + "name": "phone", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", "in": "query", "required": false, "schema": { @@ -33265,8 +33265,8 @@ } }, { - "name": "telecom", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", + "name": "identifier", + "description": "A person Identifier", "in": "query", "required": false, "schema": { @@ -33274,8 +33274,8 @@ } }, { - "name": "identifier", - "description": "A person Identifier", + "name": "gender", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", "in": "query", "required": false, "schema": { @@ -33283,8 +33283,8 @@ } }, { - "name": "link", - "description": "Any link has this Patient, Person, RelatedPerson or Practitioner reference", + "name": "telecom", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", "in": "query", "required": false, "schema": { @@ -33292,8 +33292,8 @@ } }, { - "name": "name", - "description": "A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", + "name": "organization", + "description": "The organization at which this person record is being managed", "in": "query", "required": false, "schema": { @@ -33301,8 +33301,8 @@ } }, { - "name": "organization", - "description": "The organization at which this person record is being managed", + "name": "practitioner", + "description": "The Person links to this Practitioner", "in": "query", "required": false, "schema": { @@ -33310,8 +33310,8 @@ } }, { - "name": "patient", - "description": "The Person links to this Patient", + "name": "relatedperson", + "description": "The Person links to this RelatedPerson", "in": "query", "required": false, "schema": { @@ -33319,8 +33319,8 @@ } }, { - "name": "practitioner", - "description": "The Person links to this Practitioner", + "name": "link", + "description": "Any link has this Patient, Person, RelatedPerson or Practitioner reference", "in": "query", "required": false, "schema": { @@ -33328,8 +33328,8 @@ } }, { - "name": "relatedperson", - "description": "The Person links to this RelatedPerson", + "name": "patient", + "description": "The Person links to this Patient", "in": "query", "required": false, "schema": { @@ -33337,22 +33337,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -33550,17 +33550,8 @@ "operationId": "searchPlanDefinition", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "context", - "description": "A use context assigned to the plan definition", + "name": "effective", + "description": "The time during which the plan definition is intended to be in use", "in": "query", "required": false, "schema": { @@ -33568,8 +33559,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the plan definition", + "name": "date", + "description": "The plan definition publication date", "in": "query", "required": false, "schema": { @@ -33577,8 +33568,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the plan definition", + "name": "publisher", + "description": "Name of the publisher of the plan definition", "in": "query", "required": false, "schema": { @@ -33586,8 +33577,8 @@ } }, { - "name": "date", - "description": "The plan definition publication date", + "name": "title", + "description": "The human-friendly name of the plan definition", "in": "query", "required": false, "schema": { @@ -33595,8 +33586,8 @@ } }, { - "name": "definition", - "description": "Activity or plan definitions used by plan definition", + "name": "description", + "description": "The description of the plan definition", "in": "query", "required": false, "schema": { @@ -33604,8 +33595,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "name", + "description": "Computationally friendly name of the plan definition", "in": "query", "required": false, "schema": { @@ -33613,8 +33604,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "context-type", + "description": "A type of use context assigned to the plan definition", "in": "query", "required": false, "schema": { @@ -33622,8 +33613,8 @@ } }, { - "name": "description", - "description": "The description of the plan definition", + "name": "type", + "description": "The type of artifact the plan (e.g. order-set, eca-rule, protocol)", "in": "query", "required": false, "schema": { @@ -33631,8 +33622,8 @@ } }, { - "name": "effective", - "description": "The time during which the plan definition is intended to be in use", + "name": "jurisdiction", + "description": "Intended jurisdiction for the plan definition", "in": "query", "required": false, "schema": { @@ -33649,8 +33640,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the plan definition", + "name": "status", + "description": "The current status of the plan definition", "in": "query", "required": false, "schema": { @@ -33658,8 +33649,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the plan definition", + "name": "context", + "description": "A use context assigned to the plan definition", "in": "query", "required": false, "schema": { @@ -33667,8 +33658,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "topic", + "description": "Topics associated with the module", "in": "query", "required": false, "schema": { @@ -33676,8 +33667,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the plan definition", + "name": "version", + "description": "The business version of the plan definition", "in": "query", "required": false, "schema": { @@ -33685,8 +33676,8 @@ } }, { - "name": "status", - "description": "The current status of the plan definition", + "name": "derived-from", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -33703,8 +33694,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the plan definition", + "name": "definition", + "description": "Activity or plan definitions used by plan definition", "in": "query", "required": false, "schema": { @@ -33712,8 +33703,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the module", + "name": "predecessor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -33721,8 +33712,8 @@ } }, { - "name": "type", - "description": "The type of artifact the plan (e.g. order-set, eca-rule, protocol)", + "name": "depends-on", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -33730,8 +33721,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the plan definition", + "name": "composed-of", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -33739,8 +33730,8 @@ } }, { - "name": "version", - "description": "The business version of the plan definition", + "name": "context-type-value", + "description": "A use context type and value assigned to the plan definition", "in": "query", "required": false, "schema": { @@ -33757,8 +33748,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the plan definition", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the plan definition", "in": "query", "required": false, "schema": { @@ -33766,22 +33757,31 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "name": "url", + "description": "The uri that identifies the plan definition", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_tagParam" + }, + { + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -33978,6 +33978,15 @@ "summary": "Search for Practitioner resources", "operationId": "searchPractitioner", "parameters": [ + { + "name": "name", + "description": "A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "address", "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Person](person.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Practitioner](practitioner.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [RelatedPerson](relatedperson.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n", @@ -33988,8 +33997,8 @@ } }, { - "name": "address-city", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", + "name": "phonetic", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", "in": "query", "required": false, "schema": { @@ -34006,8 +34015,8 @@ } }, { - "name": "address-postalcode", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", + "name": "address-city", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -34024,8 +34033,8 @@ } }, { - "name": "address-use", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", + "name": "given", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of the given name of the patient\r\n* [Practitioner](practitioner.html): A portion of the given name\r\n", "in": "query", "required": false, "schema": { @@ -34033,8 +34042,8 @@ } }, { - "name": "email", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", + "name": "address-postalcode", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -34051,17 +34060,8 @@ } }, { - "name": "gender", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "given", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of the given name of the patient\r\n* [Practitioner](practitioner.html): A portion of the given name\r\n", + "name": "communication", + "description": "One of the languages that the practitioner can communicate with", "in": "query", "required": false, "schema": { @@ -34069,8 +34069,8 @@ } }, { - "name": "phone", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", + "name": "email", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", "in": "query", "required": false, "schema": { @@ -34078,8 +34078,8 @@ } }, { - "name": "phonetic", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", + "name": "active", + "description": "Whether the practitioner record is active", "in": "query", "required": false, "schema": { @@ -34087,8 +34087,8 @@ } }, { - "name": "telecom", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", + "name": "address-use", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -34096,8 +34096,8 @@ } }, { - "name": "active", - "description": "Whether the practitioner record is active", + "name": "phone", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", "in": "query", "required": false, "schema": { @@ -34105,8 +34105,8 @@ } }, { - "name": "communication", - "description": "One of the languages that the practitioner can communicate with", + "name": "identifier", + "description": "A practitioner's Identifier", "in": "query", "required": false, "schema": { @@ -34114,8 +34114,8 @@ } }, { - "name": "identifier", - "description": "A practitioner's Identifier", + "name": "gender", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", "in": "query", "required": false, "schema": { @@ -34123,8 +34123,8 @@ } }, { - "name": "name", - "description": "A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", + "name": "telecom", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", "in": "query", "required": false, "schema": { @@ -34132,22 +34132,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -34345,8 +34345,8 @@ "operationId": "searchPractitionerRole", "parameters": [ { - "name": "email", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", + "name": "date", + "description": "The period during which the practitioner is authorized to perform in these role(s)", "in": "query", "required": false, "schema": { @@ -34354,8 +34354,8 @@ } }, { - "name": "phone", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", + "name": "specialty", + "description": "The practitioner has this specialty at an organization", "in": "query", "required": false, "schema": { @@ -34363,8 +34363,8 @@ } }, { - "name": "telecom", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", + "name": "email", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", "in": "query", "required": false, "schema": { @@ -34381,8 +34381,8 @@ } }, { - "name": "date", - "description": "The period during which the practitioner is authorized to perform in these role(s)", + "name": "phone", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", "in": "query", "required": false, "schema": { @@ -34390,8 +34390,8 @@ } }, { - "name": "endpoint", - "description": "Technical endpoints providing access to services operated for the practitioner with this role", + "name": "telecom", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", "in": "query", "required": false, "schema": { @@ -34399,8 +34399,8 @@ } }, { - "name": "identifier", - "description": "A practitioner's Identifier", + "name": "role", + "description": "The practitioner can perform this role at for the organization", "in": "query", "required": false, "schema": { @@ -34408,8 +34408,8 @@ } }, { - "name": "location", - "description": "One of the locations at which this practitioner provides care", + "name": "identifier", + "description": "A practitioner's Identifier", "in": "query", "required": false, "schema": { @@ -34417,8 +34417,8 @@ } }, { - "name": "organization", - "description": "The identity of the organization the practitioner represents / acts on behalf of", + "name": "location", + "description": "One of the locations at which this practitioner provides care", "in": "query", "required": false, "schema": { @@ -34426,8 +34426,8 @@ } }, { - "name": "practitioner", - "description": "Practitioner that is able to provide the defined services for the organization", + "name": "organization", + "description": "The identity of the organization the practitioner represents / acts on behalf of", "in": "query", "required": false, "schema": { @@ -34435,8 +34435,8 @@ } }, { - "name": "role", - "description": "The practitioner can perform this role at for the organization", + "name": "endpoint", + "description": "Technical endpoints providing access to services operated for the practitioner with this role", "in": "query", "required": false, "schema": { @@ -34453,8 +34453,8 @@ } }, { - "name": "specialty", - "description": "The practitioner has this specialty at an organization", + "name": "practitioner", + "description": "Practitioner that is able to provide the defined services for the organization", "in": "query", "required": false, "schema": { @@ -34462,22 +34462,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -34675,8 +34675,8 @@ "operationId": "searchProcedure", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", "in": "query", "required": false, "schema": { @@ -34684,8 +34684,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -34702,8 +34702,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "reason-code", + "description": "Coded reason procedure performed", "in": "query", "required": false, "schema": { @@ -34711,8 +34711,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "category", + "description": "Classification of the procedure", "in": "query", "required": false, "schema": { @@ -34720,8 +34720,8 @@ } }, { - "name": "based-on", - "description": "A request for this procedure", + "name": "status", + "description": "preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", "in": "query", "required": false, "schema": { @@ -34729,8 +34729,8 @@ } }, { - "name": "category", - "description": "Classification of the procedure", + "name": "reason-reference", + "description": "The justification that the procedure was performed", "in": "query", "required": false, "schema": { @@ -34738,8 +34738,8 @@ } }, { - "name": "instantiates-canonical", - "description": "Instantiates FHIR protocol or definition", + "name": "performer", + "description": "The reference to the practitioner", "in": "query", "required": false, "schema": { @@ -34747,8 +34747,8 @@ } }, { - "name": "instantiates-uri", - "description": "Instantiates external protocol or definition", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -34756,8 +34756,8 @@ } }, { - "name": "location", - "description": "Where the procedure happened", + "name": "subject", + "description": "Search by subject", "in": "query", "required": false, "schema": { @@ -34774,8 +34774,8 @@ } }, { - "name": "performer", - "description": "The reference to the practitioner", + "name": "based-on", + "description": "A request for this procedure", "in": "query", "required": false, "schema": { @@ -34783,8 +34783,8 @@ } }, { - "name": "reason-code", - "description": "Coded reason procedure performed", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -34792,8 +34792,8 @@ } }, { - "name": "reason-reference", - "description": "The justification that the procedure was performed", + "name": "instantiates-canonical", + "description": "Instantiates FHIR protocol or definition", "in": "query", "required": false, "schema": { @@ -34801,8 +34801,8 @@ } }, { - "name": "status", - "description": "preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", + "name": "location", + "description": "Where the procedure happened", "in": "query", "required": false, "schema": { @@ -34810,8 +34810,8 @@ } }, { - "name": "subject", - "description": "Search by subject", + "name": "instantiates-uri", + "description": "Instantiates external protocol or definition", "in": "query", "required": false, "schema": { @@ -34819,22 +34819,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -35032,8 +35032,8 @@ "operationId": "searchProvenance", "parameters": [ { - "name": "agent", - "description": "Who participated", + "name": "when", + "description": "When the activity occurred", "in": "query", "required": false, "schema": { @@ -35041,8 +35041,8 @@ } }, { - "name": "agent-role", - "description": "What the agents role was", + "name": "recorded", + "description": "When the activity was recorded / updated", "in": "query", "required": false, "schema": { @@ -35050,8 +35050,8 @@ } }, { - "name": "agent-type", - "description": "How the agent participated", + "name": "signature-type", + "description": "Indication of the reason the entity signed the object(s)", "in": "query", "required": false, "schema": { @@ -35059,8 +35059,8 @@ } }, { - "name": "entity", - "description": "Identity of entity", + "name": "agent-role", + "description": "What the agents role was", "in": "query", "required": false, "schema": { @@ -35068,8 +35068,8 @@ } }, { - "name": "location", - "description": "Where the activity occurred, if relevant", + "name": "agent-type", + "description": "How the agent participated", "in": "query", "required": false, "schema": { @@ -35077,8 +35077,8 @@ } }, { - "name": "patient", - "description": "Target Reference(s) (usually version specific)", + "name": "entity", + "description": "Identity of entity", "in": "query", "required": false, "schema": { @@ -35086,8 +35086,8 @@ } }, { - "name": "recorded", - "description": "When the activity was recorded / updated", + "name": "location", + "description": "Where the activity occurred, if relevant", "in": "query", "required": false, "schema": { @@ -35095,8 +35095,8 @@ } }, { - "name": "signature-type", - "description": "Indication of the reason the entity signed the object(s)", + "name": "target", + "description": "Target Reference(s) (usually version specific)", "in": "query", "required": false, "schema": { @@ -35104,7 +35104,7 @@ } }, { - "name": "target", + "name": "patient", "description": "Target Reference(s) (usually version specific)", "in": "query", "required": false, @@ -35113,8 +35113,8 @@ } }, { - "name": "when", - "description": "When the activity occurred", + "name": "agent", + "description": "Who participated", "in": "query", "required": false, "schema": { @@ -35122,22 +35122,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -35335,8 +35335,8 @@ "operationId": "searchQuestionnaire", "parameters": [ { - "name": "code", - "description": "A code that corresponds to one of its items in the questionnaire", + "name": "effective", + "description": "The time during which the questionnaire is intended to be in use", "in": "query", "required": false, "schema": { @@ -35344,8 +35344,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the questionnaire", + "name": "date", + "description": "The questionnaire publication date", "in": "query", "required": false, "schema": { @@ -35353,8 +35353,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the questionnaire", + "name": "description", + "description": "The description of the questionnaire", "in": "query", "required": false, "schema": { @@ -35362,8 +35362,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the questionnaire", + "name": "publisher", + "description": "Name of the publisher of the questionnaire", "in": "query", "required": false, "schema": { @@ -35371,8 +35371,8 @@ } }, { - "name": "date", - "description": "The questionnaire publication date", + "name": "name", + "description": "Computationally friendly name of the questionnaire", "in": "query", "required": false, "schema": { @@ -35380,8 +35380,8 @@ } }, { - "name": "definition", - "description": "ElementDefinition - details for the item", + "name": "title", + "description": "The human-friendly name of the questionnaire", "in": "query", "required": false, "schema": { @@ -35389,8 +35389,8 @@ } }, { - "name": "description", - "description": "The description of the questionnaire", + "name": "code", + "description": "A code that corresponds to one of its items in the questionnaire", "in": "query", "required": false, "schema": { @@ -35398,8 +35398,8 @@ } }, { - "name": "effective", - "description": "The time during which the questionnaire is intended to be in use", + "name": "jurisdiction", + "description": "Intended jurisdiction for the questionnaire", "in": "query", "required": false, "schema": { @@ -35407,8 +35407,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the questionnaire", + "name": "context-type", + "description": "A type of use context assigned to the questionnaire", "in": "query", "required": false, "schema": { @@ -35416,8 +35416,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the questionnaire", + "name": "context", + "description": "A use context assigned to the questionnaire", "in": "query", "required": false, "schema": { @@ -35425,8 +35425,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the questionnaire", + "name": "version", + "description": "The business version of the questionnaire", "in": "query", "required": false, "schema": { @@ -35434,8 +35434,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the questionnaire", + "name": "status", + "description": "The current status of the questionnaire", "in": "query", "required": false, "schema": { @@ -35443,8 +35443,8 @@ } }, { - "name": "status", - "description": "The current status of the questionnaire", + "name": "identifier", + "description": "External identifier for the questionnaire", "in": "query", "required": false, "schema": { @@ -35461,8 +35461,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the questionnaire", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the questionnaire", "in": "query", "required": false, "schema": { @@ -35470,8 +35470,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the questionnaire", + "name": "context-type-value", + "description": "A use context type and value assigned to the questionnaire", "in": "query", "required": false, "schema": { @@ -35479,8 +35479,8 @@ } }, { - "name": "version", - "description": "The business version of the questionnaire", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the questionnaire", "in": "query", "required": false, "schema": { @@ -35488,8 +35488,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the questionnaire", + "name": "definition", + "description": "ElementDefinition - details for the item", "in": "query", "required": false, "schema": { @@ -35497,8 +35497,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the questionnaire", + "name": "url", + "description": "The uri that identifies the questionnaire", "in": "query", "required": false, "schema": { @@ -35506,22 +35506,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -35719,8 +35719,8 @@ "operationId": "searchQuestionnaireResponse", "parameters": [ { - "name": "author", - "description": "The author of the questionnaire response", + "name": "authored", + "description": "When the questionnaire response was last changed", "in": "query", "required": false, "schema": { @@ -35728,8 +35728,8 @@ } }, { - "name": "authored", - "description": "When the questionnaire response was last changed", + "name": "identifier", + "description": "The unique identifier for the questionnaire response", "in": "query", "required": false, "schema": { @@ -35737,8 +35737,8 @@ } }, { - "name": "based-on", - "description": "Plan/proposal/order fulfilled by this questionnaire response", + "name": "status", + "description": "The status of the questionnaire response", "in": "query", "required": false, "schema": { @@ -35755,8 +35755,8 @@ } }, { - "name": "identifier", - "description": "The unique identifier for the questionnaire response", + "name": "part-of", + "description": "Procedure or observation this questionnaire response was performed as a part of", "in": "query", "required": false, "schema": { @@ -35764,8 +35764,8 @@ } }, { - "name": "part-of", - "description": "Procedure or observation this questionnaire response was performed as a part of", + "name": "author", + "description": "The author of the questionnaire response", "in": "query", "required": false, "schema": { @@ -35782,8 +35782,8 @@ } }, { - "name": "questionnaire", - "description": "The questionnaire the answers are provided for", + "name": "based-on", + "description": "Plan/proposal/order fulfilled by this questionnaire response", "in": "query", "required": false, "schema": { @@ -35791,8 +35791,8 @@ } }, { - "name": "source", - "description": "The individual providing the information reflected in the questionnaire respose", + "name": "questionnaire", + "description": "The questionnaire the answers are provided for", "in": "query", "required": false, "schema": { @@ -35800,8 +35800,8 @@ } }, { - "name": "status", - "description": "The status of the questionnaire response", + "name": "subject", + "description": "The subject of the questionnaire response", "in": "query", "required": false, "schema": { @@ -35809,8 +35809,8 @@ } }, { - "name": "subject", - "description": "The subject of the questionnaire response", + "name": "source", + "description": "The individual providing the information reflected in the questionnaire respose", "in": "query", "required": false, "schema": { @@ -35818,22 +35818,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -36030,6 +36030,15 @@ "summary": "Search for RelatedPerson resources", "operationId": "searchRelatedPerson", "parameters": [ + { + "name": "birthdate", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The patient's date of birth\r\n* [Person](person.html): The person's date of birth\r\n* [RelatedPerson](relatedperson.html): The Related Person's date of birth\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "address", "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Person](person.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Practitioner](practitioner.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [RelatedPerson](relatedperson.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n", @@ -36040,8 +36049,8 @@ } }, { - "name": "address-city", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", + "name": "phonetic", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", "in": "query", "required": false, "schema": { @@ -36058,8 +36067,8 @@ } }, { - "name": "address-postalcode", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", + "name": "address-city", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -36067,8 +36076,8 @@ } }, { - "name": "address-state", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A state specified in an address\r\n* [Person](person.html): A state specified in an address\r\n* [Practitioner](practitioner.html): A state specified in an address\r\n* [RelatedPerson](relatedperson.html): A state specified in an address\r\n", + "name": "name", + "description": "A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", "in": "query", "required": false, "schema": { @@ -36076,8 +36085,8 @@ } }, { - "name": "address-use", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", + "name": "address-state", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A state specified in an address\r\n* [Person](person.html): A state specified in an address\r\n* [Practitioner](practitioner.html): A state specified in an address\r\n* [RelatedPerson](relatedperson.html): A state specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -36085,8 +36094,8 @@ } }, { - "name": "birthdate", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The patient's date of birth\r\n* [Person](person.html): The person's date of birth\r\n* [RelatedPerson](relatedperson.html): The Related Person's date of birth\r\n", + "name": "address-postalcode", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -36103,8 +36112,8 @@ } }, { - "name": "gender", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", + "name": "address-use", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", "in": "query", "required": false, "schema": { @@ -36121,8 +36130,8 @@ } }, { - "name": "phonetic", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", + "name": "relationship", + "description": "The relationship between the patient and the relatedperson", "in": "query", "required": false, "schema": { @@ -36130,8 +36139,8 @@ } }, { - "name": "telecom", - "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", + "name": "identifier", + "description": "An Identifier of the RelatedPerson", "in": "query", "required": false, "schema": { @@ -36139,8 +36148,8 @@ } }, { - "name": "active", - "description": "Indicates if the related person record is active", + "name": "gender", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", "in": "query", "required": false, "schema": { @@ -36148,8 +36157,8 @@ } }, { - "name": "identifier", - "description": "An Identifier of the RelatedPerson", + "name": "telecom", + "description": "Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", "in": "query", "required": false, "schema": { @@ -36157,8 +36166,8 @@ } }, { - "name": "name", - "description": "A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", + "name": "active", + "description": "Indicates if the related person record is active", "in": "query", "required": false, "schema": { @@ -36175,31 +36184,22 @@ } }, { - "name": "relationship", - "description": "The relationship between the patient and the relatedperson", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -36397,8 +36397,8 @@ "operationId": "searchRequestGroup", "parameters": [ { - "name": "author", - "description": "The author of the request group", + "name": "authored", + "description": "The date the request group was authored", "in": "query", "required": false, "schema": { @@ -36406,8 +36406,8 @@ } }, { - "name": "authored", - "description": "The date the request group was authored", + "name": "intent", + "description": "The intent of the request group", "in": "query", "required": false, "schema": { @@ -36415,8 +36415,8 @@ } }, { - "name": "code", - "description": "The code of the request group", + "name": "status", + "description": "The status of the request group", "in": "query", "required": false, "schema": { @@ -36424,8 +36424,8 @@ } }, { - "name": "encounter", - "description": "The encounter the request group applies to", + "name": "identifier", + "description": "External identifiers for the request group", "in": "query", "required": false, "schema": { @@ -36433,8 +36433,8 @@ } }, { - "name": "group-identifier", - "description": "The group identifier for the request group", + "name": "code", + "description": "The code of the request group", "in": "query", "required": false, "schema": { @@ -36442,8 +36442,8 @@ } }, { - "name": "identifier", - "description": "External identifiers for the request group", + "name": "priority", + "description": "The priority of the request group", "in": "query", "required": false, "schema": { @@ -36451,8 +36451,8 @@ } }, { - "name": "instantiates-canonical", - "description": "The FHIR-based definition from which the request group is realized", + "name": "group-identifier", + "description": "The group identifier for the request group", "in": "query", "required": false, "schema": { @@ -36460,8 +36460,8 @@ } }, { - "name": "instantiates-uri", - "description": "The external definition from which the request group is realized", + "name": "encounter", + "description": "The encounter the request group applies to", "in": "query", "required": false, "schema": { @@ -36469,8 +36469,8 @@ } }, { - "name": "intent", - "description": "The intent of the request group", + "name": "instantiates-canonical", + "description": "The FHIR-based definition from which the request group is realized", "in": "query", "required": false, "schema": { @@ -36478,8 +36478,8 @@ } }, { - "name": "participant", - "description": "The participant in the requests in the group", + "name": "patient", + "description": "The identity of a patient to search for request groups", "in": "query", "required": false, "schema": { @@ -36487,8 +36487,8 @@ } }, { - "name": "patient", - "description": "The identity of a patient to search for request groups", + "name": "subject", + "description": "The subject that the request group is about", "in": "query", "required": false, "schema": { @@ -36496,8 +36496,8 @@ } }, { - "name": "priority", - "description": "The priority of the request group", + "name": "participant", + "description": "The participant in the requests in the group", "in": "query", "required": false, "schema": { @@ -36505,8 +36505,8 @@ } }, { - "name": "status", - "description": "The status of the request group", + "name": "author", + "description": "The author of the request group", "in": "query", "required": false, "schema": { @@ -36514,8 +36514,8 @@ } }, { - "name": "subject", - "description": "The subject that the request group is about", + "name": "instantiates-uri", + "description": "The external definition from which the request group is realized", "in": "query", "required": false, "schema": { @@ -36523,22 +36523,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -36736,8 +36736,8 @@ "operationId": "searchResearchDefinition", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", + "name": "date", + "description": "The research definition publication date", "in": "query", "required": false, "schema": { @@ -36745,8 +36745,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the research definition", + "name": "effective", + "description": "The time during which the research definition is intended to be in use", "in": "query", "required": false, "schema": { @@ -36754,8 +36754,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the research definition", + "name": "title", + "description": "The human-friendly name of the research definition", "in": "query", "required": false, "schema": { @@ -36763,8 +36763,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the research definition", + "name": "description", + "description": "The description of the research definition", "in": "query", "required": false, "schema": { @@ -36772,8 +36772,8 @@ } }, { - "name": "date", - "description": "The research definition publication date", + "name": "publisher", + "description": "Name of the publisher of the research definition", "in": "query", "required": false, "schema": { @@ -36781,8 +36781,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "name", + "description": "Computationally friendly name of the research definition", "in": "query", "required": false, "schema": { @@ -36790,8 +36790,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "status", + "description": "The current status of the research definition", "in": "query", "required": false, "schema": { @@ -36799,8 +36799,8 @@ } }, { - "name": "description", - "description": "The description of the research definition", + "name": "jurisdiction", + "description": "Intended jurisdiction for the research definition", "in": "query", "required": false, "schema": { @@ -36808,8 +36808,8 @@ } }, { - "name": "effective", - "description": "The time during which the research definition is intended to be in use", + "name": "context", + "description": "A use context assigned to the research definition", "in": "query", "required": false, "schema": { @@ -36817,8 +36817,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the research definition", + "name": "context-type", + "description": "A type of use context assigned to the research definition", "in": "query", "required": false, "schema": { @@ -36826,8 +36826,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the research definition", + "name": "topic", + "description": "Topics associated with the ResearchDefinition", "in": "query", "required": false, "schema": { @@ -36835,8 +36835,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the research definition", + "name": "version", + "description": "The business version of the research definition", "in": "query", "required": false, "schema": { @@ -36844,8 +36844,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "identifier", + "description": "External identifier for the research definition", "in": "query", "required": false, "schema": { @@ -36853,8 +36853,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the research definition", + "name": "composed-of", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -36862,8 +36862,8 @@ } }, { - "name": "status", - "description": "The current status of the research definition", + "name": "successor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -36871,7 +36871,7 @@ } }, { - "name": "successor", + "name": "derived-from", "description": "What resource is being referenced", "in": "query", "required": false, @@ -36880,8 +36880,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the research definition", + "name": "predecessor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -36889,8 +36889,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the ResearchDefinition", + "name": "depends-on", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -36898,8 +36898,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the research definition", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the research definition", "in": "query", "required": false, "schema": { @@ -36907,8 +36907,8 @@ } }, { - "name": "version", - "description": "The business version of the research definition", + "name": "context-type-value", + "description": "A use context type and value assigned to the research definition", "in": "query", "required": false, "schema": { @@ -36916,8 +36916,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the research definition", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the research definition", "in": "query", "required": false, "schema": { @@ -36925,8 +36925,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the research definition", + "name": "url", + "description": "The uri that identifies the research definition", "in": "query", "required": false, "schema": { @@ -36934,22 +36934,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -37147,8 +37147,8 @@ "operationId": "searchResearchElementDefinition", "parameters": [ { - "name": "composed-of", - "description": "What resource is being referenced", + "name": "date", + "description": "The research element definition publication date", "in": "query", "required": false, "schema": { @@ -37156,8 +37156,8 @@ } }, { - "name": "context", - "description": "A use context assigned to the research element definition", + "name": "effective", + "description": "The time during which the research element definition is intended to be in use", "in": "query", "required": false, "schema": { @@ -37165,8 +37165,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the research element definition", + "name": "title", + "description": "The human-friendly name of the research element definition", "in": "query", "required": false, "schema": { @@ -37174,8 +37174,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the research element definition", + "name": "description", + "description": "The description of the research element definition", "in": "query", "required": false, "schema": { @@ -37183,8 +37183,8 @@ } }, { - "name": "date", - "description": "The research element definition publication date", + "name": "name", + "description": "Computationally friendly name of the research element definition", "in": "query", "required": false, "schema": { @@ -37192,8 +37192,8 @@ } }, { - "name": "depends-on", - "description": "What resource is being referenced", + "name": "publisher", + "description": "Name of the publisher of the research element definition", "in": "query", "required": false, "schema": { @@ -37201,8 +37201,8 @@ } }, { - "name": "derived-from", - "description": "What resource is being referenced", + "name": "version", + "description": "The business version of the research element definition", "in": "query", "required": false, "schema": { @@ -37210,8 +37210,8 @@ } }, { - "name": "description", - "description": "The description of the research element definition", + "name": "jurisdiction", + "description": "Intended jurisdiction for the research element definition", "in": "query", "required": false, "schema": { @@ -37219,8 +37219,8 @@ } }, { - "name": "effective", - "description": "The time during which the research element definition is intended to be in use", + "name": "context", + "description": "A use context assigned to the research element definition", "in": "query", "required": false, "schema": { @@ -37228,8 +37228,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the research element definition", + "name": "topic", + "description": "Topics associated with the ResearchElementDefinition", "in": "query", "required": false, "schema": { @@ -37237,8 +37237,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the research element definition", + "name": "context-type", + "description": "A type of use context assigned to the research element definition", "in": "query", "required": false, "schema": { @@ -37246,8 +37246,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the research element definition", + "name": "identifier", + "description": "External identifier for the research element definition", "in": "query", "required": false, "schema": { @@ -37255,8 +37255,8 @@ } }, { - "name": "predecessor", - "description": "What resource is being referenced", + "name": "status", + "description": "The current status of the research element definition", "in": "query", "required": false, "schema": { @@ -37264,8 +37264,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the research element definition", + "name": "predecessor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -37273,8 +37273,8 @@ } }, { - "name": "status", - "description": "The current status of the research element definition", + "name": "successor", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -37282,7 +37282,7 @@ } }, { - "name": "successor", + "name": "derived-from", "description": "What resource is being referenced", "in": "query", "required": false, @@ -37291,8 +37291,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the research element definition", + "name": "depends-on", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -37300,8 +37300,8 @@ } }, { - "name": "topic", - "description": "Topics associated with the ResearchElementDefinition", + "name": "composed-of", + "description": "What resource is being referenced", "in": "query", "required": false, "schema": { @@ -37309,8 +37309,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the research element definition", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the research element definition", "in": "query", "required": false, "schema": { @@ -37318,8 +37318,8 @@ } }, { - "name": "version", - "description": "The business version of the research element definition", + "name": "context-type-value", + "description": "A use context type and value assigned to the research element definition", "in": "query", "required": false, "schema": { @@ -37327,8 +37327,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the research element definition", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the research element definition", "in": "query", "required": false, "schema": { @@ -37336,8 +37336,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the research element definition", + "name": "url", + "description": "The uri that identifies the research element definition", "in": "query", "required": false, "schema": { @@ -37345,22 +37345,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -37558,8 +37558,8 @@ "operationId": "searchResearchStudy", "parameters": [ { - "name": "category", - "description": "Classifications for the study", + "name": "date", + "description": "When the study began and ended", "in": "query", "required": false, "schema": { @@ -37567,8 +37567,8 @@ } }, { - "name": "date", - "description": "When the study began and ended", + "name": "title", + "description": "Name for this study", "in": "query", "required": false, "schema": { @@ -37576,8 +37576,8 @@ } }, { - "name": "focus", - "description": "Drugs, devices, etc. under study", + "name": "status", + "description": "active | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention | completed | disapproved | in-review | temporarily-closed-to-accrual | temporarily-closed-to-accrual-and-intervention | withdrawn", "in": "query", "required": false, "schema": { @@ -37585,8 +37585,8 @@ } }, { - "name": "identifier", - "description": "Business Identifier for study", + "name": "location", + "description": "Geographic region(s) for study", "in": "query", "required": false, "schema": { @@ -37594,8 +37594,8 @@ } }, { - "name": "keyword", - "description": "Used to search for the study", + "name": "focus", + "description": "Drugs, devices, etc. under study", "in": "query", "required": false, "schema": { @@ -37603,8 +37603,8 @@ } }, { - "name": "location", - "description": "Geographic region(s) for study", + "name": "category", + "description": "Classifications for the study", "in": "query", "required": false, "schema": { @@ -37612,8 +37612,8 @@ } }, { - "name": "partof", - "description": "Part of larger study", + "name": "keyword", + "description": "Used to search for the study", "in": "query", "required": false, "schema": { @@ -37621,8 +37621,8 @@ } }, { - "name": "principalinvestigator", - "description": "Researcher who oversees multiple aspects of the study", + "name": "identifier", + "description": "Business Identifier for study", "in": "query", "required": false, "schema": { @@ -37630,8 +37630,8 @@ } }, { - "name": "protocol", - "description": "Steps followed in executing study", + "name": "sponsor", + "description": "Organization that initiates and is legally responsible for the study", "in": "query", "required": false, "schema": { @@ -37639,8 +37639,8 @@ } }, { - "name": "site", - "description": "Facility where study activities are conducted", + "name": "principalinvestigator", + "description": "Researcher who oversees multiple aspects of the study", "in": "query", "required": false, "schema": { @@ -37648,8 +37648,8 @@ } }, { - "name": "sponsor", - "description": "Organization that initiates and is legally responsible for the study", + "name": "protocol", + "description": "Steps followed in executing study", "in": "query", "required": false, "schema": { @@ -37657,8 +37657,8 @@ } }, { - "name": "status", - "description": "active | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention | completed | disapproved | in-review | temporarily-closed-to-accrual | temporarily-closed-to-accrual-and-intervention | withdrawn", + "name": "site", + "description": "Facility where study activities are conducted", "in": "query", "required": false, "schema": { @@ -37666,8 +37666,8 @@ } }, { - "name": "title", - "description": "Name for this study", + "name": "partof", + "description": "Part of larger study", "in": "query", "required": false, "schema": { @@ -37675,22 +37675,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -37897,8 +37897,8 @@ } }, { - "name": "identifier", - "description": "Business Identifier for research subject in a study", + "name": "status", + "description": "candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn", "in": "query", "required": false, "schema": { @@ -37906,8 +37906,8 @@ } }, { - "name": "individual", - "description": "Who is part of study", + "name": "identifier", + "description": "Business Identifier for research subject in a study", "in": "query", "required": false, "schema": { @@ -37915,7 +37915,7 @@ } }, { - "name": "patient", + "name": "individual", "description": "Who is part of study", "in": "query", "required": false, @@ -37924,8 +37924,8 @@ } }, { - "name": "status", - "description": "candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn", + "name": "study", + "description": "Study subject is part of", "in": "query", "required": false, "schema": { @@ -37933,8 +37933,8 @@ } }, { - "name": "study", - "description": "Study subject is part of", + "name": "patient", + "description": "Who is part of study", "in": "query", "required": false, "schema": { @@ -37942,22 +37942,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -38155,8 +38155,8 @@ "operationId": "searchRiskAssessment", "parameters": [ { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", + "name": "probability", + "description": "Likelihood of specified outcome", "in": "query", "required": false, "schema": { @@ -38164,8 +38164,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", "in": "query", "required": false, "schema": { @@ -38173,8 +38173,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -38182,8 +38182,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "method", + "description": "Evaluation mechanism", "in": "query", "required": false, "schema": { @@ -38191,8 +38191,8 @@ } }, { - "name": "condition", - "description": "Condition assessed", + "name": "risk", + "description": "Likelihood of specified outcome as a qualitative value", "in": "query", "required": false, "schema": { @@ -38200,8 +38200,8 @@ } }, { - "name": "method", - "description": "Evaluation mechanism", + "name": "performer", + "description": "Who did assessment?", "in": "query", "required": false, "schema": { @@ -38209,8 +38209,8 @@ } }, { - "name": "performer", - "description": "Who did assessment?", + "name": "condition", + "description": "Condition assessed", "in": "query", "required": false, "schema": { @@ -38218,8 +38218,8 @@ } }, { - "name": "probability", - "description": "Likelihood of specified outcome", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -38227,8 +38227,8 @@ } }, { - "name": "risk", - "description": "Likelihood of specified outcome as a qualitative value", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -38245,22 +38245,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -38458,8 +38458,8 @@ "operationId": "searchRiskEvidenceSynthesis", "parameters": [ { - "name": "context", - "description": "A use context assigned to the risk evidence synthesis", + "name": "effective", + "description": "The time during which the risk evidence synthesis is intended to be in use", "in": "query", "required": false, "schema": { @@ -38467,8 +38467,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the risk evidence synthesis", + "name": "date", + "description": "The risk evidence synthesis publication date", "in": "query", "required": false, "schema": { @@ -38476,8 +38476,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the risk evidence synthesis", + "name": "description", + "description": "The description of the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38485,8 +38485,8 @@ } }, { - "name": "date", - "description": "The risk evidence synthesis publication date", + "name": "name", + "description": "Computationally friendly name of the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38494,8 +38494,8 @@ } }, { - "name": "description", - "description": "The description of the risk evidence synthesis", + "name": "title", + "description": "The human-friendly name of the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38503,8 +38503,8 @@ } }, { - "name": "effective", - "description": "The time during which the risk evidence synthesis is intended to be in use", + "name": "publisher", + "description": "Name of the publisher of the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38512,8 +38512,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the risk evidence synthesis", + "name": "version", + "description": "The business version of the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38521,8 +38521,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the risk evidence synthesis", + "name": "identifier", + "description": "External identifier for the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38530,8 +38530,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the risk evidence synthesis", + "name": "context", + "description": "A use context assigned to the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38539,8 +38539,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the risk evidence synthesis", + "name": "context-type", + "description": "A type of use context assigned to the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38548,8 +38548,8 @@ } }, { - "name": "status", - "description": "The current status of the risk evidence synthesis", + "name": "jurisdiction", + "description": "Intended jurisdiction for the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38557,8 +38557,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the risk evidence synthesis", + "name": "status", + "description": "The current status of the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38566,8 +38566,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the risk evidence synthesis", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38575,8 +38575,8 @@ } }, { - "name": "version", - "description": "The business version of the risk evidence synthesis", + "name": "context-type-value", + "description": "A use context type and value assigned to the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38584,8 +38584,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the risk evidence synthesis", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38593,8 +38593,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the risk evidence synthesis", + "name": "url", + "description": "The uri that identifies the risk evidence synthesis", "in": "query", "required": false, "schema": { @@ -38602,22 +38602,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -38815,8 +38815,8 @@ "operationId": "searchSchedule", "parameters": [ { - "name": "active", - "description": "Is the schedule in active use", + "name": "date", + "description": "Search for Schedule resources that have a period that contains this date specified", "in": "query", "required": false, "schema": { @@ -38824,8 +38824,8 @@ } }, { - "name": "actor", - "description": "The individual(HealthcareService, Practitioner, Location, ...) to find a Schedule for", + "name": "specialty", + "description": "Type of specialty needed", "in": "query", "required": false, "schema": { @@ -38833,8 +38833,8 @@ } }, { - "name": "date", - "description": "Search for Schedule resources that have a period that contains this date specified", + "name": "service-type", + "description": "The type of appointments that can be booked into associated slot(s)", "in": "query", "required": false, "schema": { @@ -38842,8 +38842,8 @@ } }, { - "name": "identifier", - "description": "A Schedule Identifier", + "name": "active", + "description": "Is the schedule in active use", "in": "query", "required": false, "schema": { @@ -38851,8 +38851,8 @@ } }, { - "name": "service-category", - "description": "High-level category", + "name": "identifier", + "description": "A Schedule Identifier", "in": "query", "required": false, "schema": { @@ -38860,8 +38860,8 @@ } }, { - "name": "service-type", - "description": "The type of appointments that can be booked into associated slot(s)", + "name": "service-category", + "description": "High-level category", "in": "query", "required": false, "schema": { @@ -38869,8 +38869,8 @@ } }, { - "name": "specialty", - "description": "Type of specialty needed", + "name": "actor", + "description": "The individual(HealthcareService, Practitioner, Location, ...) to find a Schedule for", "in": "query", "required": false, "schema": { @@ -38878,22 +38878,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -39091,8 +39091,8 @@ "operationId": "searchSearchParameter", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -39100,8 +39100,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -39109,8 +39109,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -39118,8 +39118,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -39127,8 +39127,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -39136,8 +39136,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -39145,8 +39145,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -39154,8 +39154,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -39163,8 +39163,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "code", + "description": "Code used in URL", "in": "query", "required": false, "schema": { @@ -39172,8 +39172,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "target", + "description": "Types of resource (if a resource reference)", "in": "query", "required": false, "schema": { @@ -39181,8 +39181,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "type", + "description": "number | date | string | token | reference | composite | quantity | uri | special", "in": "query", "required": false, "schema": { @@ -39190,8 +39190,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -39199,8 +39199,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "base", + "description": "The resource type(s) this search parameter applies to", "in": "query", "required": false, "schema": { @@ -39208,8 +39208,8 @@ } }, { - "name": "base", - "description": "The resource type(s) this search parameter applies to", + "name": "derived-from", + "description": "Original definition for the search parameter", "in": "query", "required": false, "schema": { @@ -39217,8 +39217,8 @@ } }, { - "name": "code", - "description": "Code used in URL", + "name": "component", + "description": "Defines how the part works", "in": "query", "required": false, "schema": { @@ -39226,8 +39226,8 @@ } }, { - "name": "component", - "description": "Defines how the part works", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -39235,8 +39235,8 @@ } }, { - "name": "derived-from", - "description": "Original definition for the search parameter", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -39244,8 +39244,8 @@ } }, { - "name": "target", - "description": "Types of resource (if a resource reference)", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -39253,8 +39253,8 @@ } }, { - "name": "type", - "description": "number | date | string | token | reference | composite | quantity | uri | special", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -39262,22 +39262,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -39475,8 +39475,8 @@ "operationId": "searchServiceRequest", "parameters": [ { - "name": "code", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", + "name": "occurrence", + "description": "When service should occur", "in": "query", "required": false, "schema": { @@ -39484,8 +39484,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "authored", + "description": "Date request signed", "in": "query", "required": false, "schema": { @@ -39493,8 +39493,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "code", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", "in": "query", "required": false, "schema": { @@ -39502,8 +39502,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "priority", + "description": "routine | urgent | asap | stat", "in": "query", "required": false, "schema": { @@ -39511,8 +39511,8 @@ } }, { - "name": "authored", - "description": "Date request signed", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -39520,8 +39520,8 @@ } }, { - "name": "based-on", - "description": "What request fulfills", + "name": "body-site", + "description": "Where procedure is going to be done", "in": "query", "required": false, "schema": { @@ -39529,8 +39529,8 @@ } }, { - "name": "body-site", - "description": "Where procedure is going to be done", + "name": "intent", + "description": "proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option", "in": "query", "required": false, "schema": { @@ -39538,8 +39538,8 @@ } }, { - "name": "category", - "description": "Classification of service", + "name": "status", + "description": "draft | active | on-hold | revoked | completed | entered-in-error | unknown", "in": "query", "required": false, "schema": { @@ -39547,8 +39547,8 @@ } }, { - "name": "instantiates-canonical", - "description": "Instantiates FHIR protocol or definition", + "name": "requisition", + "description": "Composite Request ID", "in": "query", "required": false, "schema": { @@ -39556,8 +39556,8 @@ } }, { - "name": "instantiates-uri", - "description": "Instantiates external protocol or definition", + "name": "category", + "description": "Classification of service", "in": "query", "required": false, "schema": { @@ -39565,8 +39565,8 @@ } }, { - "name": "intent", - "description": "proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option", + "name": "performer-type", + "description": "Performer role", "in": "query", "required": false, "schema": { @@ -39574,8 +39574,8 @@ } }, { - "name": "occurrence", - "description": "When service should occur", + "name": "requester", + "description": "Who/what is requesting service", "in": "query", "required": false, "schema": { @@ -39583,8 +39583,8 @@ } }, { - "name": "performer", - "description": "Requested performer", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -39592,8 +39592,8 @@ } }, { - "name": "performer-type", - "description": "Performer role", + "name": "specimen", + "description": "Specimen to be tested", "in": "query", "required": false, "schema": { @@ -39601,8 +39601,8 @@ } }, { - "name": "priority", - "description": "routine | urgent | asap | stat", + "name": "performer", + "description": "Requested performer", "in": "query", "required": false, "schema": { @@ -39610,8 +39610,8 @@ } }, { - "name": "replaces", - "description": "What request replaces", + "name": "instantiates-canonical", + "description": "Instantiates FHIR protocol or definition", "in": "query", "required": false, "schema": { @@ -39619,8 +39619,8 @@ } }, { - "name": "requester", - "description": "Who/what is requesting service", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -39628,8 +39628,8 @@ } }, { - "name": "requisition", - "description": "Composite Request ID", + "name": "based-on", + "description": "What request fulfills", "in": "query", "required": false, "schema": { @@ -39637,8 +39637,8 @@ } }, { - "name": "specimen", - "description": "Specimen to be tested", + "name": "replaces", + "description": "What request replaces", "in": "query", "required": false, "schema": { @@ -39646,8 +39646,8 @@ } }, { - "name": "status", - "description": "draft | active | on-hold | revoked | completed | entered-in-error | unknown", + "name": "subject", + "description": "Search by subject", "in": "query", "required": false, "schema": { @@ -39655,8 +39655,8 @@ } }, { - "name": "subject", - "description": "Search by subject", + "name": "instantiates-uri", + "description": "Instantiates external protocol or definition", "in": "query", "required": false, "schema": { @@ -39664,22 +39664,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -39877,8 +39877,8 @@ "operationId": "searchSlot", "parameters": [ { - "name": "appointment-type", - "description": "The style of appointment or patient that may be booked in the slot (not service type)", + "name": "start", + "description": "Appointment date/time.", "in": "query", "required": false, "schema": { @@ -39886,8 +39886,8 @@ } }, { - "name": "identifier", - "description": "A Slot Identifier", + "name": "status", + "description": "The free/busy status of the appointment", "in": "query", "required": false, "schema": { @@ -39895,8 +39895,8 @@ } }, { - "name": "schedule", - "description": "The Schedule Resource that we are seeking a slot within", + "name": "identifier", + "description": "A Slot Identifier", "in": "query", "required": false, "schema": { @@ -39904,8 +39904,8 @@ } }, { - "name": "service-category", - "description": "A broad categorization of the service that is to be performed during this appointment", + "name": "service-type", + "description": "The type of appointments that can be booked into the slot", "in": "query", "required": false, "schema": { @@ -39913,8 +39913,8 @@ } }, { - "name": "service-type", - "description": "The type of appointments that can be booked into the slot", + "name": "service-category", + "description": "A broad categorization of the service that is to be performed during this appointment", "in": "query", "required": false, "schema": { @@ -39931,8 +39931,8 @@ } }, { - "name": "start", - "description": "Appointment date/time.", + "name": "appointment-type", + "description": "The style of appointment or patient that may be booked in the slot (not service type)", "in": "query", "required": false, "schema": { @@ -39940,8 +39940,8 @@ } }, { - "name": "status", - "description": "The free/busy status of the appointment", + "name": "schedule", + "description": "The Schedule Resource that we are seeking a slot within", "in": "query", "required": false, "schema": { @@ -39949,22 +39949,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -40162,8 +40162,8 @@ "operationId": "searchSpecimen", "parameters": [ { - "name": "accession", - "description": "The accession number associated with the specimen", + "name": "collected", + "description": "The date the specimen was collected", "in": "query", "required": false, "schema": { @@ -40180,8 +40180,8 @@ } }, { - "name": "collected", - "description": "The date the specimen was collected", + "name": "container-id", + "description": "The unique identifier associated with the specimen container", "in": "query", "required": false, "schema": { @@ -40189,8 +40189,8 @@ } }, { - "name": "collector", - "description": "Who collected the specimen", + "name": "status", + "description": "available | unavailable | unsatisfactory | entered-in-error", "in": "query", "required": false, "schema": { @@ -40198,8 +40198,8 @@ } }, { - "name": "container", - "description": "The kind of specimen container", + "name": "type", + "description": "The specimen type", "in": "query", "required": false, "schema": { @@ -40207,8 +40207,8 @@ } }, { - "name": "container-id", - "description": "The unique identifier associated with the specimen container", + "name": "identifier", + "description": "The unique identifier associated with the specimen", "in": "query", "required": false, "schema": { @@ -40216,8 +40216,8 @@ } }, { - "name": "identifier", - "description": "The unique identifier associated with the specimen", + "name": "accession", + "description": "The accession number associated with the specimen", "in": "query", "required": false, "schema": { @@ -40225,8 +40225,8 @@ } }, { - "name": "parent", - "description": "The parent of the specimen", + "name": "container", + "description": "The kind of specimen container", "in": "query", "required": false, "schema": { @@ -40234,8 +40234,8 @@ } }, { - "name": "patient", - "description": "The patient the specimen comes from", + "name": "subject", + "description": "The subject of the specimen", "in": "query", "required": false, "schema": { @@ -40243,8 +40243,8 @@ } }, { - "name": "status", - "description": "available | unavailable | unsatisfactory | entered-in-error", + "name": "patient", + "description": "The patient the specimen comes from", "in": "query", "required": false, "schema": { @@ -40252,8 +40252,8 @@ } }, { - "name": "subject", - "description": "The subject of the specimen", + "name": "collector", + "description": "Who collected the specimen", "in": "query", "required": false, "schema": { @@ -40261,8 +40261,8 @@ } }, { - "name": "type", - "description": "The specimen type", + "name": "parent", + "description": "The parent of the specimen", "in": "query", "required": false, "schema": { @@ -40270,22 +40270,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -40483,8 +40483,8 @@ "operationId": "searchSpecimenDefinition", "parameters": [ { - "name": "container", - "description": "The type of specimen conditioned in container expected by the lab", + "name": "type", + "description": "The type of collected specimen", "in": "query", "required": false, "schema": { @@ -40492,8 +40492,8 @@ } }, { - "name": "identifier", - "description": "The unique identifier associated with the specimen", + "name": "container", + "description": "The type of specimen conditioned in container expected by the lab", "in": "query", "required": false, "schema": { @@ -40501,8 +40501,8 @@ } }, { - "name": "type", - "description": "The type of collected specimen", + "name": "identifier", + "description": "The unique identifier associated with the specimen", "in": "query", "required": false, "schema": { @@ -40510,22 +40510,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -40723,8 +40723,8 @@ "operationId": "searchStructureDefinition", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -40732,8 +40732,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -40741,8 +40741,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -40750,8 +40750,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -40759,8 +40759,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -40768,8 +40768,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -40777,8 +40777,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "derivation", + "description": "specialization | constraint - How relates to base definition", "in": "query", "required": false, "schema": { @@ -40786,8 +40786,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "kind", + "description": "primitive-type | complex-type | resource | logical", "in": "query", "required": false, "schema": { @@ -40795,8 +40795,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -40804,8 +40804,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "base-path", + "description": "Path that identifies the base element", "in": "query", "required": false, "schema": { @@ -40813,8 +40813,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "experimental", + "description": "For testing purposes, not real usage", "in": "query", "required": false, "schema": { @@ -40822,8 +40822,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -40831,8 +40831,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "path", + "description": "A path that is constrained in the StructureDefinition", "in": "query", "required": false, "schema": { @@ -40840,8 +40840,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -40849,8 +40849,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", + "name": "ext-context", + "description": "The system is the URL for the context-type: e.g. http://hl7.org/fhir/extension-context-type#element|CodeableConcept.text", "in": "query", "required": false, "schema": { @@ -40858,8 +40858,8 @@ } }, { - "name": "abstract", - "description": "Whether the structure is abstract", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -40867,8 +40867,8 @@ } }, { - "name": "base", - "description": "Definition that this type is constrained/specialized from", + "name": "keyword", + "description": "A code for the StructureDefinition", "in": "query", "required": false, "schema": { @@ -40876,8 +40876,8 @@ } }, { - "name": "base-path", - "description": "Path that identifies the base element", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", "in": "query", "required": false, "schema": { @@ -40885,8 +40885,8 @@ } }, { - "name": "derivation", - "description": "specialization | constraint - How relates to base definition", + "name": "abstract", + "description": "Whether the structure is abstract", "in": "query", "required": false, "schema": { @@ -40894,8 +40894,8 @@ } }, { - "name": "experimental", - "description": "For testing purposes, not real usage", + "name": "valueset", + "description": "A vocabulary binding reference", "in": "query", "required": false, "schema": { @@ -40903,8 +40903,8 @@ } }, { - "name": "ext-context", - "description": "The system is the URL for the context-type: e.g. http://hl7.org/fhir/extension-context-type#element|CodeableConcept.text", + "name": "base", + "description": "Definition that this type is constrained/specialized from", "in": "query", "required": false, "schema": { @@ -40912,8 +40912,8 @@ } }, { - "name": "keyword", - "description": "A code for the StructureDefinition", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -40921,8 +40921,8 @@ } }, { - "name": "kind", - "description": "primitive-type | complex-type | resource | logical", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -40930,8 +40930,8 @@ } }, { - "name": "path", - "description": "A path that is constrained in the StructureDefinition", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -40948,8 +40948,8 @@ } }, { - "name": "valueset", - "description": "A vocabulary binding reference", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -40957,22 +40957,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -41169,33 +41169,6 @@ "summary": "Search for StructureMap resources", "operationId": "searchStructureMap", "parameters": [ - { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, { "name": "date", "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", @@ -41215,8 +41188,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -41251,8 +41224,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -41260,8 +41233,17 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -41278,8 +41260,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", "in": "query", "required": false, "schema": { @@ -41296,8 +41278,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -41305,22 +41287,40 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { "$ref": "#/components/parameters/_securityParam" }, + { + "$ref": "#/components/parameters/_tagParam" + }, + { + "$ref": "#/components/parameters/_idParam" + }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -41518,8 +41518,8 @@ "operationId": "searchSubscription", "parameters": [ { - "name": "contact", - "description": "Contact details for the subscription", + "name": "criteria", + "description": "The search rules used to determine when to send a notification", "in": "query", "required": false, "schema": { @@ -41527,8 +41527,8 @@ } }, { - "name": "criteria", - "description": "The search rules used to determine when to send a notification", + "name": "status", + "description": "The current state of the subscription", "in": "query", "required": false, "schema": { @@ -41545,8 +41545,8 @@ } }, { - "name": "status", - "description": "The current state of the subscription", + "name": "type", + "description": "The type of channel for the sent notifications", "in": "query", "required": false, "schema": { @@ -41554,8 +41554,8 @@ } }, { - "name": "type", - "description": "The type of channel for the sent notifications", + "name": "contact", + "description": "Contact details for the subscription", "in": "query", "required": false, "schema": { @@ -41572,22 +41572,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -41785,8 +41785,8 @@ "operationId": "searchSubstance", "parameters": [ { - "name": "category", - "description": "The category of the substance", + "name": "expiry", + "description": "Expiry date of package or container of substance", "in": "query", "required": false, "schema": { @@ -41794,8 +41794,8 @@ } }, { - "name": "code", - "description": "The code of the substance or ingredient", + "name": "category", + "description": "The category of the substance", "in": "query", "required": false, "schema": { @@ -41803,8 +41803,8 @@ } }, { - "name": "container-identifier", - "description": "Identifier of the package/container", + "name": "identifier", + "description": "Unique identifier for the substance", "in": "query", "required": false, "schema": { @@ -41812,8 +41812,8 @@ } }, { - "name": "expiry", - "description": "Expiry date of package or container of substance", + "name": "status", + "description": "active | inactive | entered-in-error", "in": "query", "required": false, "schema": { @@ -41821,8 +41821,8 @@ } }, { - "name": "identifier", - "description": "Unique identifier for the substance", + "name": "container-identifier", + "description": "Identifier of the package/container", "in": "query", "required": false, "schema": { @@ -41830,8 +41830,8 @@ } }, { - "name": "quantity", - "description": "Amount of substance in the package", + "name": "code", + "description": "The code of the substance or ingredient", "in": "query", "required": false, "schema": { @@ -41839,8 +41839,8 @@ } }, { - "name": "status", - "description": "active | inactive | entered-in-error", + "name": "substance-reference", + "description": "A component of the substance", "in": "query", "required": false, "schema": { @@ -41848,8 +41848,8 @@ } }, { - "name": "substance-reference", - "description": "A component of the substance", + "name": "quantity", + "description": "Amount of substance in the package", "in": "query", "required": false, "schema": { @@ -41857,22 +41857,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -43054,22 +43054,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -43276,8 +43276,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "status", + "description": "in-progress | completed | abandoned | entered-in-error", "in": "query", "required": false, "schema": { @@ -43294,8 +43294,8 @@ } }, { - "name": "status", - "description": "in-progress | completed | abandoned | entered-in-error", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -43312,22 +43312,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -43543,8 +43543,8 @@ } }, { - "name": "category", - "description": "The kind of supply (central, non-stock, etc.)", + "name": "status", + "description": "draft | active | suspended +", "in": "query", "required": false, "schema": { @@ -43552,8 +43552,8 @@ } }, { - "name": "requester", - "description": "Individual making the request", + "name": "category", + "description": "The kind of supply (central, non-stock, etc.)", "in": "query", "required": false, "schema": { @@ -43561,8 +43561,8 @@ } }, { - "name": "status", - "description": "draft | active | suspended +", + "name": "supplier", + "description": "Who is intended to fulfill the request", "in": "query", "required": false, "schema": { @@ -43570,8 +43570,8 @@ } }, { - "name": "subject", - "description": "The destination of the supply", + "name": "requester", + "description": "Individual making the request", "in": "query", "required": false, "schema": { @@ -43579,8 +43579,8 @@ } }, { - "name": "supplier", - "description": "Who is intended to fulfill the request", + "name": "subject", + "description": "The destination of the supply", "in": "query", "required": false, "schema": { @@ -43588,22 +43588,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -43810,8 +43810,8 @@ } }, { - "name": "based-on", - "description": "Search by requests this task is based on", + "name": "modified", + "description": "Search by last modification date", "in": "query", "required": false, "schema": { @@ -43819,8 +43819,8 @@ } }, { - "name": "business-status", - "description": "Search by business status", + "name": "period", + "description": "Search by period Task is/was underway", "in": "query", "required": false, "schema": { @@ -43828,8 +43828,8 @@ } }, { - "name": "code", - "description": "Search by task code", + "name": "group-identifier", + "description": "Search by group identifier", "in": "query", "required": false, "schema": { @@ -43837,8 +43837,8 @@ } }, { - "name": "encounter", - "description": "Search by encounter", + "name": "intent", + "description": "Search by task intent", "in": "query", "required": false, "schema": { @@ -43846,8 +43846,8 @@ } }, { - "name": "focus", - "description": "Search by task focus", + "name": "code", + "description": "Search by task code", "in": "query", "required": false, "schema": { @@ -43855,8 +43855,8 @@ } }, { - "name": "group-identifier", - "description": "Search by group identifier", + "name": "business-status", + "description": "Search by business status", "in": "query", "required": false, "schema": { @@ -43864,8 +43864,8 @@ } }, { - "name": "identifier", - "description": "Search for a task instance by its business identifier", + "name": "priority", + "description": "Search by task priority", "in": "query", "required": false, "schema": { @@ -43873,8 +43873,8 @@ } }, { - "name": "intent", - "description": "Search by task intent", + "name": "identifier", + "description": "Search for a task instance by its business identifier", "in": "query", "required": false, "schema": { @@ -43882,8 +43882,8 @@ } }, { - "name": "modified", - "description": "Search by last modification date", + "name": "status", + "description": "Search by task status", "in": "query", "required": false, "schema": { @@ -43891,8 +43891,8 @@ } }, { - "name": "owner", - "description": "Search by task owner", + "name": "performer", + "description": "Search by recommended type of performer (e.g., Requester, Performer, Scheduler).", "in": "query", "required": false, "schema": { @@ -43900,8 +43900,8 @@ } }, { - "name": "part-of", - "description": "Search by task this task is part of", + "name": "focus", + "description": "Search by task focus", "in": "query", "required": false, "schema": { @@ -43909,8 +43909,8 @@ } }, { - "name": "patient", - "description": "Search by patient", + "name": "subject", + "description": "Search by subject", "in": "query", "required": false, "schema": { @@ -43918,8 +43918,8 @@ } }, { - "name": "performer", - "description": "Search by recommended type of performer (e.g., Requester, Performer, Scheduler).", + "name": "part-of", + "description": "Search by task this task is part of", "in": "query", "required": false, "schema": { @@ -43927,8 +43927,8 @@ } }, { - "name": "period", - "description": "Search by period Task is/was underway", + "name": "patient", + "description": "Search by patient", "in": "query", "required": false, "schema": { @@ -43936,8 +43936,8 @@ } }, { - "name": "priority", - "description": "Search by task priority", + "name": "requester", + "description": "Search by task requester", "in": "query", "required": false, "schema": { @@ -43945,8 +43945,8 @@ } }, { - "name": "requester", - "description": "Search by task requester", + "name": "based-on", + "description": "Search by requests this task is based on", "in": "query", "required": false, "schema": { @@ -43954,8 +43954,8 @@ } }, { - "name": "status", - "description": "Search by task status", + "name": "owner", + "description": "Search by task owner", "in": "query", "required": false, "schema": { @@ -43963,8 +43963,8 @@ } }, { - "name": "subject", - "description": "Search by subject", + "name": "encounter", + "description": "Search by encounter", "in": "query", "required": false, "schema": { @@ -43972,22 +43972,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -44184,33 +44184,6 @@ "summary": "Search for TerminologyCapabilities resources", "operationId": "searchTerminologyCapabilities", "parameters": [ - { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, { "name": "date", "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", @@ -44230,8 +44203,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -44266,8 +44239,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -44275,8 +44248,17 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -44292,6 +44274,15 @@ "type": "string" } }, + { + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "context-type-quantity", "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", @@ -44302,8 +44293,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -44311,22 +44302,31 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "in": "query", + "required": false, + "schema": { + "type": "string" + } }, { "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_tagParam" + }, + { + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -44524,8 +44524,8 @@ "operationId": "searchTestReport", "parameters": [ { - "name": "identifier", - "description": "An external identifier for the test report", + "name": "issued", + "description": "The test report generation date", "in": "query", "required": false, "schema": { @@ -44533,8 +44533,8 @@ } }, { - "name": "issued", - "description": "The test report generation date", + "name": "tester", + "description": "The name of the testing organization", "in": "query", "required": false, "schema": { @@ -44542,8 +44542,8 @@ } }, { - "name": "participant", - "description": "The reference to a participant in the test execution", + "name": "identifier", + "description": "An external identifier for the test report", "in": "query", "required": false, "schema": { @@ -44560,8 +44560,8 @@ } }, { - "name": "tester", - "description": "The name of the testing organization", + "name": "testscript", + "description": "The test script executed to produce this report", "in": "query", "required": false, "schema": { @@ -44569,8 +44569,8 @@ } }, { - "name": "testscript", - "description": "The test script executed to produce this report", + "name": "participant", + "description": "The reference to a participant in the test execution", "in": "query", "required": false, "schema": { @@ -44578,22 +44578,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -44791,8 +44791,8 @@ "operationId": "searchTestScript", "parameters": [ { - "name": "context", - "description": "A use context assigned to the test script", + "name": "date", + "description": "The test script publication date", "in": "query", "required": false, "schema": { @@ -44800,8 +44800,8 @@ } }, { - "name": "context-quantity", - "description": "A quantity- or range-valued use context assigned to the test script", + "name": "description", + "description": "The description of the test script", "in": "query", "required": false, "schema": { @@ -44809,8 +44809,8 @@ } }, { - "name": "context-type", - "description": "A type of use context assigned to the test script", + "name": "testscript-capability", + "description": "TestScript required and validated capability", "in": "query", "required": false, "schema": { @@ -44818,8 +44818,8 @@ } }, { - "name": "date", - "description": "The test script publication date", + "name": "name", + "description": "Computationally friendly name of the test script", "in": "query", "required": false, "schema": { @@ -44827,8 +44827,8 @@ } }, { - "name": "description", - "description": "The description of the test script", + "name": "title", + "description": "The human-friendly name of the test script", "in": "query", "required": false, "schema": { @@ -44836,8 +44836,8 @@ } }, { - "name": "identifier", - "description": "External identifier for the test script", + "name": "publisher", + "description": "Name of the publisher of the test script", "in": "query", "required": false, "schema": { @@ -44845,8 +44845,8 @@ } }, { - "name": "jurisdiction", - "description": "Intended jurisdiction for the test script", + "name": "context", + "description": "A use context assigned to the test script", "in": "query", "required": false, "schema": { @@ -44854,8 +44854,8 @@ } }, { - "name": "name", - "description": "Computationally friendly name of the test script", + "name": "version", + "description": "The business version of the test script", "in": "query", "required": false, "schema": { @@ -44863,8 +44863,8 @@ } }, { - "name": "publisher", - "description": "Name of the publisher of the test script", + "name": "jurisdiction", + "description": "Intended jurisdiction for the test script", "in": "query", "required": false, "schema": { @@ -44881,8 +44881,8 @@ } }, { - "name": "testscript-capability", - "description": "TestScript required and validated capability", + "name": "context-type", + "description": "A type of use context assigned to the test script", "in": "query", "required": false, "schema": { @@ -44890,8 +44890,8 @@ } }, { - "name": "title", - "description": "The human-friendly name of the test script", + "name": "identifier", + "description": "External identifier for the test script", "in": "query", "required": false, "schema": { @@ -44899,8 +44899,8 @@ } }, { - "name": "url", - "description": "The uri that identifies the test script", + "name": "context-type-quantity", + "description": "A use context type and quantity- or range-based value assigned to the test script", "in": "query", "required": false, "schema": { @@ -44908,8 +44908,8 @@ } }, { - "name": "version", - "description": "The business version of the test script", + "name": "context-type-value", + "description": "A use context type and value assigned to the test script", "in": "query", "required": false, "schema": { @@ -44917,8 +44917,8 @@ } }, { - "name": "context-type-quantity", - "description": "A use context type and quantity- or range-based value assigned to the test script", + "name": "context-quantity", + "description": "A quantity- or range-valued use context assigned to the test script", "in": "query", "required": false, "schema": { @@ -44926,8 +44926,8 @@ } }, { - "name": "context-type-value", - "description": "A use context type and value assigned to the test script", + "name": "url", + "description": "The uri that identifies the test script", "in": "query", "required": false, "schema": { @@ -44935,22 +44935,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -45148,8 +45148,8 @@ "operationId": "searchValueSet", "parameters": [ { - "name": "context", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", + "name": "date", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", "in": "query", "required": false, "schema": { @@ -45157,8 +45157,8 @@ } }, { - "name": "context-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", + "name": "description", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", "in": "query", "required": false, "schema": { @@ -45166,8 +45166,8 @@ } }, { - "name": "context-type", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", + "name": "title", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -45175,8 +45175,8 @@ } }, { - "name": "date", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", + "name": "name", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", "in": "query", "required": false, "schema": { @@ -45184,8 +45184,8 @@ } }, { - "name": "description", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", + "name": "publisher", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", "in": "query", "required": false, "schema": { @@ -45193,8 +45193,8 @@ } }, { - "name": "jurisdiction", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", + "name": "status", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", "in": "query", "required": false, "schema": { @@ -45202,8 +45202,8 @@ } }, { - "name": "name", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", + "name": "context-type", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -45211,8 +45211,8 @@ } }, { - "name": "publisher", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", + "name": "jurisdiction", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", "in": "query", "required": false, "schema": { @@ -45220,8 +45220,8 @@ } }, { - "name": "status", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", + "name": "context", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -45229,8 +45229,8 @@ } }, { - "name": "title", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", + "name": "version", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", "in": "query", "required": false, "schema": { @@ -45238,8 +45238,8 @@ } }, { - "name": "url", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", + "name": "code", + "description": "This special parameter searches for codes in the value set. See additional notes on the ValueSet resource", "in": "query", "required": false, "schema": { @@ -45247,8 +45247,8 @@ } }, { - "name": "version", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", "in": "query", "required": false, "schema": { @@ -45256,8 +45256,8 @@ } }, { - "name": "context-type-quantity", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", + "name": "context-type-value", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -45265,8 +45265,8 @@ } }, { - "name": "context-type-value", - "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", + "name": "context-type-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -45274,8 +45274,8 @@ } }, { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", + "name": "context-quantity", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", "in": "query", "required": false, "schema": { @@ -45283,8 +45283,8 @@ } }, { - "name": "code", - "description": "This special parameter searches for codes in the value set. See additional notes on the ValueSet resource", + "name": "expansion", + "description": "Identifies the value set expansion (business identifier)", "in": "query", "required": false, "schema": { @@ -45292,8 +45292,8 @@ } }, { - "name": "expansion", - "description": "Identifies the value set expansion (business identifier)", + "name": "url", + "description": "Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", "in": "query", "required": false, "schema": { @@ -45310,22 +45310,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -45532,22 +45532,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -45745,8 +45745,8 @@ "operationId": "searchVisionPrescription", "parameters": [ { - "name": "identifier", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", + "name": "datewritten", + "description": "Return prescriptions written on this date", "in": "query", "required": false, "schema": { @@ -45754,8 +45754,8 @@ } }, { - "name": "patient", - "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", + "name": "identifier", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", "in": "query", "required": false, "schema": { @@ -45763,8 +45763,8 @@ } }, { - "name": "encounter", - "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", + "name": "status", + "description": "The status of the vision prescription", "in": "query", "required": false, "schema": { @@ -45772,8 +45772,8 @@ } }, { - "name": "datewritten", - "description": "Return prescriptions written on this date", + "name": "patient", + "description": "Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", "in": "query", "required": false, "schema": { @@ -45781,8 +45781,8 @@ } }, { - "name": "prescriber", - "description": "Who authorized the vision prescription", + "name": "encounter", + "description": "Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): Encounter created as part of\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", "in": "query", "required": false, "schema": { @@ -45790,8 +45790,8 @@ } }, { - "name": "status", - "description": "The status of the vision prescription", + "name": "prescriber", + "description": "Who authorized the vision prescription", "in": "query", "required": false, "schema": { @@ -45799,22 +45799,22 @@ } }, { - "$ref": "#/components/parameters/_idParam" + "$ref": "#/components/parameters/_lastUpdatedParam" }, { - "$ref": "#/components/parameters/_lastUpdatedParam" + "$ref": "#/components/parameters/_securityParam" }, { - "$ref": "#/components/parameters/_profileParam" + "$ref": "#/components/parameters/_tagParam" }, { - "$ref": "#/components/parameters/_securityParam" + "$ref": "#/components/parameters/_idParam" }, { "$ref": "#/components/parameters/_sourceParam" }, { - "$ref": "#/components/parameters/_tagParam" + "$ref": "#/components/parameters/_profileParam" } ], "responses": { @@ -46043,36 +46043,36 @@ }, "components": { "parameters": { - "_idParam": { - "name": "_id", - "description": "Logical id of this artifact", + "_lastUpdatedParam": { + "name": "_lastUpdated", + "description": "When the resource version last changed", "in": "query", "required": false, "schema": { "type": "string" } }, - "_lastUpdatedParam": { - "name": "_lastUpdated", - "description": "When the resource version last changed", + "_securityParam": { + "name": "_security", + "description": "Security Labels applied to this resource", "in": "query", "required": false, "schema": { "type": "string" } }, - "_profileParam": { - "name": "_profile", - "description": "Profiles this resource claims to conform to", + "_tagParam": { + "name": "_tag", + "description": "Tags applied to this resource", "in": "query", "required": false, "schema": { "type": "string" } }, - "_securityParam": { - "name": "_security", - "description": "Security Labels applied to this resource", + "_idParam": { + "name": "_id", + "description": "Logical id of this artifact", "in": "query", "required": false, "schema": { @@ -46088,9 +46088,9 @@ "type": "string" } }, - "_tagParam": { - "name": "_tag", - "description": "Tags applied to this resource", + "_profileParam": { + "name": "_profile", + "description": "Profiles this resource claims to conform to", "in": "query", "required": false, "schema": { @@ -47604,12 +47604,12 @@ "$ref": "#/components/schemas/Reference", "description": "Reference to a parent Account." } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "Account", "meta": { @@ -47854,11 +47854,11 @@ "format": "int32", "description": "The priority of the coverage in the context of this account." } - } + }, + "required": [ + "coverage" + ] } - ], - "required": [ - "coverage" ] }, "Account_Guarantor": { @@ -47881,11 +47881,11 @@ "$ref": "#/components/schemas/Period", "description": "The timeframe during which the guarantor accepts responsibility for the account." } - } + }, + "required": [ + "party" + ] } - ], - "required": [ - "party" ] }, "ActivityDefinition": { @@ -48219,12 +48219,12 @@ "description": "Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "ActivityDefinition", "meta": { @@ -48907,12 +48907,12 @@ "$ref": "#/components/schemas/Expression", "description": "An expression specifying the value of the customized element." } - } + }, + "required": [ + "path", + "expression" + ] } - ], - "required": [ - "path", - "expression" ] }, "ActivityDefinition_Participant": { @@ -48937,11 +48937,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "The role the participant should play in performing the described action." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "AdverseEvent": { @@ -49060,13 +49060,13 @@ "description": "AdverseEvent.study." } } - } + }, + "required": [ + "actuality", + "subject" + ] } ], - "required": [ - "actuality", - "subject" - ], "example": { "resourceType": "AdverseEvent", "meta": { @@ -49541,11 +49541,11 @@ "description": "Information on the possible cause of the event." } } - } + }, + "required": [ + "instance" + ] } - ], - "required": [ - "instance" ] }, "AdverseEvent_SuspectEntity_Causality": { @@ -49696,12 +49696,12 @@ "description": "Details about each adverse reaction event linked to exposure to the identified substance." } } - } + }, + "required": [ + "patient" + ] } ], - "required": [ - "patient" - ], "example": { "resourceType": "AllergyIntolerance", "meta": { @@ -50070,11 +50070,11 @@ "description": "Additional text about the adverse reaction event not captured in other fields." } } - } + }, + "required": [ + "manifestation" + ] } - ], - "required": [ - "manifestation" ] }, "Appointment": { @@ -50226,13 +50226,13 @@ "description": "A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.\n\nThe duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system." } } - } + }, + "required": [ + "status", + "participant" + ] } ], - "required": [ - "status", - "participant" - ], "example": { "resourceType": "Appointment", "meta": { @@ -50582,11 +50582,11 @@ "$ref": "#/components/schemas/Period", "description": "Participation period of the actor." } - } + }, + "required": [ + "status" + ] } - ], - "required": [ - "status" ] }, "AppointmentResponse": { @@ -50644,13 +50644,13 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Additional comments about the appointment." } - } + }, + "required": [ + "appointment", + "participantStatus" + ] } ], - "required": [ - "appointment", - "participantStatus" - ], "example": { "resourceType": "AppointmentResponse", "meta": { @@ -50862,15 +50862,15 @@ "description": "Specific instances of data or objects that have been accessed." } } - } + }, + "required": [ + "type", + "recorded", + "agent", + "source" + ] } ], - "required": [ - "type", - "recorded", - "agent", - "source" - ], "example": { "resourceType": "AuditEvent", "meta": { @@ -51231,11 +51231,11 @@ "description": "The reason (purpose of use), specific to this agent, that was used during the event being recorded." } } - } + }, + "required": [ + "requestor" + ] } - ], - "required": [ - "requestor" ] }, "AuditEvent_Agent_Network": { @@ -51346,11 +51346,11 @@ "pattern": "(\\s*([0-9a-zA-Z\\+\\=]){4}\\s*)+", "description": "The value of the extra detail." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "AuditEvent_Source": { @@ -51377,11 +51377,11 @@ "description": "Code specifying the type of source where event originated." } } - } + }, + "required": [ + "observer" + ] } - ], - "required": [ - "observer" ] }, "Basic": { @@ -51416,12 +51416,12 @@ "$ref": "#/components/schemas/Reference", "description": "Indicates who was responsible for creating the resource instance." } - } + }, + "required": [ + "code" + ] } ], - "required": [ - "code" - ], "example": { "resourceType": "Basic", "meta": { @@ -52051,12 +52051,12 @@ "$ref": "#/components/schemas/Reference", "description": "The person to which the body site belongs." } - } + }, + "required": [ + "patient" + ] } ], - "required": [ - "patient" - ], "example": { "resourceType": "BodyStructure", "meta": { @@ -52391,16 +52391,16 @@ "description": "A document definition." } } - } + }, + "required": [ + "status", + "date", + "kind", + "fhirVersion", + "format" + ] } ], - "required": [ - "status", - "date", - "kind", - "fhirVersion", - "format" - ], "example": { "resourceType": "CapabilityStatement", "meta": { @@ -52709,12 +52709,12 @@ "pattern": "\\S*", "description": "A profile on the document Bundle that constrains which resources are present, and their contents." } - } + }, + "required": [ + "mode", + "profile" + ] } - ], - "required": [ - "mode", - "profile" ] }, "CapabilityStatement_Implementation": { @@ -52739,11 +52739,11 @@ "$ref": "#/components/schemas/Reference", "description": "The organization responsible for the management of the instance and oversight of the data on the server at the specified URL." } - } + }, + "required": [ + "description" + ] } - ], - "required": [ - "description" ] }, "CapabilityStatement_Messaging": { @@ -52799,12 +52799,12 @@ "pattern": "\\S*", "description": "The network address of the endpoint. For solutions that do not use network addresses for routing, it can be just an identifier." } - } + }, + "required": [ + "protocol", + "address" + ] } - ], - "required": [ - "protocol", - "address" ] }, "CapabilityStatement_Messaging_SupportedMessage": { @@ -52828,12 +52828,12 @@ "pattern": "\\S*", "description": "Points to a message definition that identifies the messaging event, message structure, allowed responses, etc." } - } + }, + "required": [ + "mode", + "definition" + ] } - ], - "required": [ - "mode", - "definition" ] }, "CapabilityStatement_Rest": { @@ -52897,11 +52897,11 @@ "description": "An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL ." } } - } + }, + "required": [ + "mode" + ] } - ], - "required": [ - "mode" ] }, "CapabilityStatement_Rest_Interaction": { @@ -52927,11 +52927,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre–authorized certificates only'." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "CapabilityStatement_Rest_Resource": { @@ -53209,11 +53209,11 @@ "description": "Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "CapabilityStatement_Rest_Resource_Interaction": { @@ -53244,11 +53244,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre–authorized certificates only'." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "CapabilityStatement_Rest_Resource_Operation": { @@ -53274,12 +53274,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance–level invocation of the operation." } - } + }, + "required": [ + "name", + "definition" + ] } - ], - "required": [ - "name", - "definition" ] }, "CapabilityStatement_Rest_Resource_SearchParam": { @@ -53320,12 +53320,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms." } - } + }, + "required": [ + "name", + "type" + ] } - ], - "required": [ - "name", - "type" ] }, "CapabilityStatement_Rest_Security": { @@ -53379,11 +53379,11 @@ "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?", "description": "Date this version of the software was released." } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "CarePlan": { @@ -53548,14 +53548,14 @@ "description": "General notes about the care plan not covered elsewhere." } } - } + }, + "required": [ + "status", + "intent", + "subject" + ] } ], - "required": [ - "status", - "intent", - "subject" - ], "example": { "resourceType": "CarePlan", "meta": { @@ -54257,11 +54257,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre–conditions and end–conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc." } - } + }, + "required": [ + "status" + ] } - ], - "required": [ - "status" ] }, "CareTeam": { @@ -54798,13 +54798,13 @@ "description": "Used for example, to point to a substance, or to a device used to administer a medication." } } - } + }, + "required": [ + "orderable", + "referencedItem" + ] } ], - "required": [ - "orderable", - "referencedItem" - ], "example": { "resourceType": "CatalogEntry", "meta": { @@ -55029,12 +55029,12 @@ "$ref": "#/components/schemas/Reference", "description": "The reference to the related item." } - } + }, + "required": [ + "relationtype", + "item" + ] } - ], - "required": [ - "relationtype", - "item" ] }, "ChargeItem": { @@ -55208,14 +55208,14 @@ "description": "Further information supporting this charge." } } - } + }, + "required": [ + "status", + "code", + "subject" + ] } ], - "required": [ - "status", - "code", - "subject" - ], "example": { "resourceType": "ChargeItem", "meta": { @@ -55724,11 +55724,11 @@ "$ref": "#/components/schemas/Reference", "description": "The device, practitioner, etc. who performed or participated in the service." } - } + }, + "required": [ + "actor" + ] } - ], - "required": [ - "actor" ] }, "ChargeItemDefinition": { @@ -55879,13 +55879,13 @@ "description": "Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply." } } - } + }, + "required": [ + "url", + "status" + ] } ], - "required": [ - "url", - "status" - ], "example": { "resourceType": "ChargeItemDefinition", "meta": { @@ -56191,11 +56191,11 @@ "$ref": "#/components/schemas/Money", "description": "The amount calculated for this component." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "Claim": { @@ -56350,19 +56350,19 @@ "$ref": "#/components/schemas/Money", "description": "The total value of the all the items in the claim." } - } + }, + "required": [ + "status", + "type", + "use", + "patient", + "created", + "provider", + "priority", + "insurance" + ] } ], - "required": [ - "status", - "type", - "use", - "patient", - "created", - "provider", - "priority", - "insurance" - ], "example": { "resourceType": "Claim", "meta": { @@ -57564,11 +57564,11 @@ "$ref": "#/components/schemas/Reference", "description": "The physical location of the accident event." } - } + }, + "required": [ + "date" + ] } - ], - "required": [ - "date" ] }, "Claim_CareTeam": { @@ -57600,12 +57600,12 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "The qualification of the practitioner which is applicable for this service." } - } + }, + "required": [ + "sequence", + "provider" + ] } - ], - "required": [ - "sequence", - "provider" ] }, "Claim_Diagnosis": { @@ -57644,11 +57644,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system." } - } + }, + "required": [ + "sequence" + ] } - ], - "required": [ - "sequence" ] }, "Claim_Insurance": { @@ -57693,13 +57693,13 @@ "$ref": "#/components/schemas/Reference", "description": "The result of the adjudication of the line items for the Coverage specified in this insurance." } - } + }, + "required": [ + "sequence", + "focal", + "coverage" + ] } - ], - "required": [ - "sequence", - "focal", - "coverage" ] }, "Claim_Item": { @@ -57842,12 +57842,12 @@ "description": "A claim detail line. Either a simple (a product or service) or a 'group' of sub–details which are simple items." } } - } + }, + "required": [ + "sequence", + "productOrService" + ] } - ], - "required": [ - "sequence", - "productOrService" ] }, "Claim_Item_Detail": { @@ -57919,12 +57919,12 @@ "description": "A claim detail line. Either a simple (a product or service) or a 'group' of sub–details which are simple items." } } - } + }, + "required": [ + "sequence", + "productOrService" + ] } - ], - "required": [ - "sequence", - "productOrService" ] }, "Claim_Item_Detail_SubDetail": { @@ -57989,12 +57989,12 @@ "description": "Unique Device Identifiers associated with this line item." } } - } + }, + "required": [ + "sequence", + "productOrService" + ] } - ], - "required": [ - "sequence", - "productOrService" ] }, "Claim_Payee": { @@ -58013,11 +58013,11 @@ "$ref": "#/components/schemas/Reference", "description": "Reference to the individual or organization to whom any payment will be made." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "Claim_Procedure": { @@ -58060,11 +58060,11 @@ "description": "Unique Device Identifiers associated with this line item." } } - } + }, + "required": [ + "sequence" + ] } - ], - "required": [ - "sequence" ] }, "Claim_Related": { @@ -58146,12 +58146,12 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "Provides the reason in the situation where a reason code is required in addition to the content." } - } + }, + "required": [ + "sequence", + "category" + ] } - ], - "required": [ - "sequence", - "category" ] }, "ClaimResponse": { @@ -58317,18 +58317,18 @@ "description": "Errors encountered during the processing of the adjudication." } } - } + }, + "required": [ + "status", + "type", + "use", + "patient", + "created", + "insurer", + "outcome" + ] } ], - "required": [ - "status", - "type", - "use", - "patient", - "created", - "insurer", - "outcome" - ], "example": { "resourceType": "ClaimResponse", "meta": { @@ -59392,12 +59392,12 @@ "description": "The second–tier service adjudications for payor added services." } } - } + }, + "required": [ + "productOrService", + "adjudication" + ] } - ], - "required": [ - "productOrService", - "adjudication" ] }, "ClaimResponse_AddItem_Detail": { @@ -59457,12 +59457,12 @@ "description": "A sub–detail adjudication of a simple product or service." } } - } + }, + "required": [ + "productOrService", + "adjudication" + ] } - ], - "required": [ - "productOrService", - "adjudication" ] }, "ClaimResponse_AddItem_Detail_SubDetail": { @@ -59515,12 +59515,12 @@ "description": "The adjudication results." } } - } + }, + "required": [ + "productOrService", + "adjudication" + ] } - ], - "required": [ - "productOrService", - "adjudication" ] }, "ClaimResponse_Error": { @@ -59550,11 +59550,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "An error code, from a specified code system, which details why the claim could not be adjudicated." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "ClaimResponse_Insurance": { @@ -59587,13 +59587,13 @@ "$ref": "#/components/schemas/Reference", "description": "The result of the adjudication of the line items for the Coverage specified in this insurance." } - } + }, + "required": [ + "sequence", + "focal", + "coverage" + ] } - ], - "required": [ - "sequence", - "focal", - "coverage" ] }, "ClaimResponse_Item": { @@ -59631,12 +59631,12 @@ "description": "A claim detail. Either a simple (a product or service) or a 'group' of sub–details which are simple items." } } - } + }, + "required": [ + "itemSequence", + "adjudication" + ] } - ], - "required": [ - "itemSequence", - "adjudication" ] }, "ClaimResponse_Item_Adjudication": { @@ -59663,11 +59663,11 @@ "type": "number", "description": "A non–monetary value associated with the category. Mutually exclusive to the amount element above." } - } + }, + "required": [ + "category" + ] } - ], - "required": [ - "category" ] }, "ClaimResponse_Item_Detail": { @@ -59705,12 +59705,12 @@ "description": "A sub–detail adjudication of a simple product or service." } } - } + }, + "required": [ + "detailSequence", + "adjudication" + ] } - ], - "required": [ - "detailSequence", - "adjudication" ] }, "ClaimResponse_Item_Detail_SubDetail": { @@ -59741,11 +59741,11 @@ "description": "The adjudication results." } } - } + }, + "required": [ + "subDetailSequence" + ] } - ], - "required": [ - "subDetailSequence" ] }, "ClaimResponse_Payment": { @@ -59781,12 +59781,12 @@ "$ref": "#/components/schemas/Identifier", "description": "Issuer's unique identifier for the payment instrument." } - } + }, + "required": [ + "type", + "amount" + ] } - ], - "required": [ - "type", - "amount" ] }, "ClaimResponse_ProcessNote": { @@ -59820,11 +59820,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "A code to define the language used in the text of the note." } - } + }, + "required": [ + "text" + ] } - ], - "required": [ - "text" ] }, "ClaimResponse_Total": { @@ -59843,12 +59843,12 @@ "$ref": "#/components/schemas/Money", "description": "Monetary total amount associated with the category." } - } + }, + "required": [ + "category", + "amount" + ] } - ], - "required": [ - "category", - "amount" ] }, "ClinicalImpression": { @@ -59980,13 +59980,13 @@ "description": "Commentary about the impression, typically recorded after the impression itself was made, though supplemental notes by the original author could also appear." } } - } + }, + "required": [ + "status", + "subject" + ] } ], - "required": [ - "status", - "subject" - ], "example": { "resourceType": "ClinicalImpression", "meta": { @@ -60446,11 +60446,11 @@ "description": "A record of a specific investigation that was undertaken." } } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "CodeSystem": { @@ -60617,13 +60617,13 @@ "description": "Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are." } } - } + }, + "required": [ + "status", + "content" + ] } ], - "required": [ - "status", - "content" - ], "example": { "resourceType": "CodeSystem", "meta": { @@ -60847,11 +60847,11 @@ "description": "Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is–a/contains/categorizes) – see hierarchyMeaning." } } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "CodeSystem_Concept_Designation": { @@ -60876,11 +60876,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The text value for this designation." } - } + }, + "required": [ + "value" + ] } - ], - "required": [ - "value" ] }, "CodeSystem_Concept_Property": { @@ -60928,11 +60928,11 @@ "type": "number", "description": "The value of this property." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "CodeSystem_Filter": { @@ -60976,13 +60976,13 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A description of what the value for the filter should be." } - } + }, + "required": [ + "code", + "operator", + "value" + ] } - ], - "required": [ - "code", - "operator", - "value" ] }, "CodeSystem_Property": { @@ -61021,12 +61021,12 @@ ], "description": "The type of the property value. Properties of type \"code\" contain a code defined by the code system (e.g. a reference to another defined concept)." } - } + }, + "required": [ + "code", + "type" + ] } - ], - "required": [ - "code", - "type" ] }, "Communication": { @@ -61191,12 +61191,12 @@ "description": "Additional notes or commentary about the communication by the sender, receiver or other interested parties." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "Communication", "meta": { @@ -61793,12 +61793,12 @@ "description": "Comments made about the request by the requester, sender, recipient, subject or other participants." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "CommunicationRequest", "meta": { @@ -62340,16 +62340,16 @@ "description": "Information about how a resource is related to the compartment." } } - } + }, + "required": [ + "url", + "name", + "status", + "code", + "search" + ] } ], - "required": [ - "url", - "name", - "status", - "code", - "search" - ], "example": { "resourceType": "CompartmentDefinition", "meta": { @@ -62624,11 +62624,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Additional documentation about the resource and compartment." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "Composition": { @@ -62733,16 +62733,16 @@ "description": "The root of the sections that make up the composition." } } - } + }, + "required": [ + "status", + "type", + "date", + "author", + "title" + ] } ], - "required": [ - "status", - "type", - "date", - "author", - "title" - ], "example": { "resourceType": "Composition", "meta": { @@ -63190,11 +63190,11 @@ "$ref": "#/components/schemas/Reference", "description": "Who attested the composition in the specified way." } - } + }, + "required": [ + "mode" + ] } - ], - "required": [ - "mode" ] }, "Composition_Event": { @@ -63253,11 +63253,11 @@ "$ref": "#/components/schemas/Reference", "description": "The target composition/document of this relationship." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "Composition_Section": { @@ -63446,12 +63446,12 @@ "description": "A group of mappings that all have the same source and target system." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "ConceptMap", "meta": { @@ -63662,11 +63662,11 @@ "$ref": "#/components/schemas/ConceptMap_Group_Unmapped", "description": "What to do when there is no mapping for the source concept. \"Unmapped\" does not include codes that are unmatched, and the unmapped element is ignored in a code is specified to have equivalence = unmatched." } - } + }, + "required": [ + "element" + ] } - ], - "required": [ - "element" ] }, "ConceptMap_Group_Element": { @@ -63751,11 +63751,11 @@ "description": "A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on." } } - } + }, + "required": [ + "equivalence" + ] } - ], - "required": [ - "equivalence" ] }, "ConceptMap_Group_Element_Target_DependsOn": { @@ -63786,12 +63786,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The display for the code. The display is only provided to help editors when editing the concept map." } - } + }, + "required": [ + "property", + "value" + ] } - ], - "required": [ - "property", - "value" ] }, "ConceptMap_Group_Unmapped": { @@ -63826,11 +63826,11 @@ "pattern": "\\S*", "description": "The canonical reference to an additional ConceptMap resource instance to use for mapping if this ConceptMap resource contains no matching mapping for the source concept." } - } + }, + "required": [ + "mode" + ] } - ], - "required": [ - "mode" ] }, "Condition": { @@ -63964,12 +63964,12 @@ "description": "Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis." } } - } + }, + "required": [ + "subject" + ] } ], - "required": [ - "subject" - ], "example": { "resourceType": "Condition", "meta": { @@ -64492,14 +64492,14 @@ "$ref": "#/components/schemas/Consent_Provision", "description": "An exception to the base policy of this consent. An exception can be an addition or removal of access permissions." } - } + }, + "required": [ + "status", + "scope", + "category" + ] } ], - "required": [ - "status", - "scope", - "category" - ], "example": { "resourceType": "Consent", "meta": { @@ -64993,12 +64993,12 @@ "$ref": "#/components/schemas/Reference", "description": "The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers')." } - } + }, + "required": [ + "role", + "reference" + ] } - ], - "required": [ - "role", - "reference" ] }, "Consent_Provision_Data": { @@ -65023,12 +65023,12 @@ "$ref": "#/components/schemas/Reference", "description": "A reference to a specific resource that defines which resources are covered by this consent." } - } + }, + "required": [ + "meaning", + "reference" + ] } - ], - "required": [ - "meaning", - "reference" ] }, "Consent_Verification": { @@ -65052,11 +65052,11 @@ "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?", "description": "Date verification was collected." } - } + }, + "required": [ + "verified" + ] } - ], - "required": [ - "verified" ] }, "Contract": { @@ -66732,12 +66732,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content." } - } + }, + "required": [ + "type", + "publicationStatus" + ] } - ], - "required": [ - "type", - "publicationStatus" ] }, "Contract_Friendly": { @@ -66823,13 +66823,13 @@ "description": "Legally binding Contract DSIG signature contents in Base64." } } - } + }, + "required": [ + "type", + "party", + "signature" + ] } - ], - "required": [ - "type", - "party", - "signature" ] }, "Contract_Term": { @@ -66906,11 +66906,11 @@ "description": "Nested group of Contract Provisions." } } - } + }, + "required": [ + "offer" + ] } - ], - "required": [ - "offer" ] }, "Contract_Term_Action": { @@ -67060,13 +67060,13 @@ "description": "Security labels that protects the action." } } - } + }, + "required": [ + "type", + "intent", + "status" + ] } - ], - "required": [ - "type", - "intent", - "status" ] }, "Contract_Term_Action_Subject": { @@ -67088,11 +67088,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "Role type of agent assigned roles in this Contract." } - } + }, + "required": [ + "reference" + ] } - ], - "required": [ - "reference" ] }, "Contract_Term_Asset": { @@ -67473,12 +67473,12 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "How the party participates in the offer." } - } + }, + "required": [ + "reference", + "role" + ] } - ], - "required": [ - "reference", - "role" ] }, "Contract_Term_SecurityLabel": { @@ -67515,11 +67515,11 @@ "description": "Security label privacy tag that species the manner in which term and/or term elements are to be protected." } } - } + }, + "required": [ + "classification" + ] } - ], - "required": [ - "classification" ] }, "Coverage": { @@ -67623,14 +67623,14 @@ "description": "The policy(s) which constitute this insurance coverage." } } - } + }, + "required": [ + "status", + "beneficiary", + "payor" + ] } ], - "required": [ - "status", - "beneficiary", - "payor" - ], "example": { "resourceType": "Coverage", "meta": { @@ -67943,12 +67943,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A short description for the class." } - } + }, + "required": [ + "type", + "value" + ] } - ], - "required": [ - "type", - "value" ] }, "Coverage_CostToBeneficiary": { @@ -67998,11 +67998,11 @@ "$ref": "#/components/schemas/Period", "description": "The timeframe during when the exception is in force." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "CoverageEligibilityRequest": { @@ -68102,16 +68102,16 @@ "description": "Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor." } } - } + }, + "required": [ + "status", + "purpose", + "patient", + "created", + "insurer" + ] } ], - "required": [ - "status", - "purpose", - "patient", - "created", - "insurer" - ], "example": { "resourceType": "CoverageEligibilityRequest", "meta": { @@ -68558,11 +68558,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A business agreement number established between the provider and the insurer for special business processing purposes." } - } + }, + "required": [ + "coverage" + ] } - ], - "required": [ - "coverage" ] }, "CoverageEligibilityRequest_Item": { @@ -68671,12 +68671,12 @@ "type": "boolean", "description": "The supporting materials are applicable for all detail items, product/servce categories and specific billing codes." } - } + }, + "required": [ + "sequence", + "information" + ] } - ], - "required": [ - "sequence", - "information" ] }, "CoverageEligibilityResponse": { @@ -68785,18 +68785,18 @@ "description": "Errors encountered during the processing of the request." } } - } + }, + "required": [ + "status", + "purpose", + "patient", + "created", + "request", + "outcome", + "insurer" + ] } ], - "required": [ - "status", - "purpose", - "patient", - "created", - "request", - "outcome", - "insurer" - ], "example": { "resourceType": "CoverageEligibilityResponse", "meta": { @@ -69176,11 +69176,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "An error code,from a specified code system, which details why the eligibility check could not be performed." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "CoverageEligibilityResponse_Insurance": { @@ -69210,11 +69210,11 @@ "description": "Benefits and optionally current balances, and authorization details by category or service." } } - } + }, + "required": [ + "coverage" + ] } - ], - "required": [ - "coverage" ] }, "CoverageEligibilityResponse_Insurance_Item": { @@ -69337,11 +69337,11 @@ "$ref": "#/components/schemas/Money", "description": "The quantity of the benefit which have been consumed to date." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "DetectedIssue": { @@ -69434,12 +69434,12 @@ "description": "Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "DetectedIssue", "meta": { @@ -69735,11 +69735,11 @@ "$ref": "#/components/schemas/Reference", "description": "Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring." } - } + }, + "required": [ + "action" + ] } - ], - "required": [ - "action" ] }, "Device": { @@ -70323,12 +70323,12 @@ ], "description": "The type of deviceName.\nUDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName." } - } + }, + "required": [ + "name", + "type" + ] } - ], - "required": [ - "name", - "type" ] }, "Device_Property": { @@ -70357,11 +70357,11 @@ "description": "Property value as a code, e.g., NTP4 (synced to NTP)." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "Device_Specialization": { @@ -70381,11 +70381,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The version of the standard that is used to operate and communicate." } - } + }, + "required": [ + "systemType" + ] } - ], - "required": [ - "systemType" ] }, "Device_UdiCarrier": { @@ -70458,11 +70458,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The version text." } - } + }, + "required": [ + "value" + ] } - ], - "required": [ - "value" ] }, "DeviceDefinition": { @@ -71082,11 +71082,11 @@ "description": "Description of capability." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "DeviceDefinition_DeviceName": { @@ -71114,12 +71114,12 @@ ], "description": "The type of deviceName.\nUDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName." } - } + }, + "required": [ + "name", + "type" + ] } - ], - "required": [ - "name", - "type" ] }, "DeviceDefinition_Material": { @@ -71142,11 +71142,11 @@ "type": "boolean", "description": "Whether the substance is a known or suspected allergen." } - } + }, + "required": [ + "substance" + ] } - ], - "required": [ - "substance" ] }, "DeviceDefinition_Property": { @@ -71175,11 +71175,11 @@ "description": "Property value as a code, e.g., NTP4 (synced to NTP)." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "DeviceDefinition_Specialization": { @@ -71200,11 +71200,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The version of the standard that is used to operate and communicate." } - } + }, + "required": [ + "systemType" + ] } - ], - "required": [ - "systemType" ] }, "DeviceDefinition_UdiDeviceIdentifier": { @@ -71230,13 +71230,13 @@ "pattern": "\\S*", "description": "The jurisdiction to which the deviceIdentifier applies." } - } + }, + "required": [ + "deviceIdentifier", + "issuer", + "jurisdiction" + ] } - ], - "required": [ - "deviceIdentifier", - "issuer", - "jurisdiction" ] }, "DeviceMetric": { @@ -71315,13 +71315,13 @@ "description": "Describes the calibrations that have been performed or that are required to be performed." } } - } + }, + "required": [ + "type", + "category" + ] } ], - "required": [ - "type", - "category" - ], "example": { "resourceType": "DeviceMetric", "meta": { @@ -71731,13 +71731,13 @@ "description": "Key events in the history of the request." } } - } + }, + "required": [ + "intent", + "subject" + ] } ], - "required": [ - "intent", - "subject" - ], "example": { "resourceType": "DeviceRequest", "meta": { @@ -72344,14 +72344,14 @@ "description": "Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement." } } - } + }, + "required": [ + "status", + "subject", + "device" + ] } ], - "required": [ - "status", - "subject", - "device" - ], "example": { "resourceType": "DeviceUseStatement", "meta": { @@ -72810,13 +72810,13 @@ "description": "Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent." } } - } + }, + "required": [ + "status", + "code" + ] } ], - "required": [ - "status", - "code" - ], "example": { "resourceType": "DiagnosticReport", "meta": { @@ -73203,11 +73203,11 @@ "$ref": "#/components/schemas/Reference", "description": "Reference to the image source." } - } + }, + "required": [ + "link" + ] } - ], - "required": [ - "link" ] }, "DocumentManifest": { @@ -73289,13 +73289,13 @@ "description": "Related identifiers or resources associated with the DocumentManifest." } } - } + }, + "required": [ + "status", + "content" + ] } ], - "required": [ - "status", - "content" - ], "example": { "resourceType": "DocumentManifest", "meta": { @@ -73679,13 +73679,13 @@ "$ref": "#/components/schemas/DocumentReference_Context", "description": "The clinical context in which the document was prepared." } - } + }, + "required": [ + "status", + "content" + ] } ], - "required": [ - "status", - "content" - ], "example": { "resourceType": "DocumentReference", "meta": { @@ -74113,11 +74113,11 @@ "$ref": "#/components/schemas/Coding", "description": "An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType." } - } + }, + "required": [ + "attachment" + ] } - ], - "required": [ - "attachment" ] }, "DocumentReference_Context": { @@ -74191,12 +74191,12 @@ "$ref": "#/components/schemas/Reference", "description": "The target document of this relationship." } - } + }, + "required": [ + "code", + "target" + ] } - ], - "required": [ - "code", - "target" ] }, "EffectEvidenceSynthesis": { @@ -74397,16 +74397,16 @@ "description": "A description of the certainty of the effect estimate." } } - } + }, + "required": [ + "status", + "population", + "exposure", + "exposureAlternative", + "outcome" + ] } ], - "required": [ - "status", - "population", - "exposure", - "exposureAlternative", - "outcome" - ], "example": { "resourceType": "EffectEvidenceSynthesis", "meta": { @@ -75181,11 +75181,11 @@ "$ref": "#/components/schemas/Reference", "description": "Reference to a RiskEvidenceSynthesis resource." } - } + }, + "required": [ + "riskEvidenceSynthesis" + ] } - ], - "required": [ - "riskEvidenceSynthesis" ] }, "EffectEvidenceSynthesis_SampleSize": { @@ -75365,13 +75365,13 @@ "$ref": "#/components/schemas/Reference", "description": "Another Encounter of which this encounter is a part of (administratively or in time)." } - } + }, + "required": [ + "status", + "class" + ] } ], - "required": [ - "status", - "class" - ], "example": { "resourceType": "Encounter", "meta": { @@ -76054,12 +76054,12 @@ "$ref": "#/components/schemas/Period", "description": "The time that the episode was in the specified class." } - } + }, + "required": [ + "class", + "period" + ] } - ], - "required": [ - "class", - "period" ] }, "Encounter_Diagnosis": { @@ -76083,11 +76083,11 @@ "format": "int32", "description": "Ranking of the diagnosis (for each role type)." } - } + }, + "required": [ + "condition" + ] } - ], - "required": [ - "condition" ] }, "Encounter_Hospitalization": { @@ -76177,11 +76177,11 @@ "$ref": "#/components/schemas/Period", "description": "Time period during which the patient was present at the location." } - } + }, + "required": [ + "location" + ] } - ], - "required": [ - "location" ] }, "Encounter_Participant": { @@ -76238,12 +76238,12 @@ "$ref": "#/components/schemas/Period", "description": "The time that the episode was in the specified status." } - } + }, + "required": [ + "status", + "period" + ] } - ], - "required": [ - "status", - "period" ] }, "Endpoint": { @@ -76325,15 +76325,15 @@ "description": "Additional headers / information to send as part of the notification." } } - } + }, + "required": [ + "status", + "connectionType", + "payloadType", + "address" + ] } ], - "required": [ - "status", - "connectionType", - "payloadType", - "address" - ], "example": { "resourceType": "Endpoint", "meta": { @@ -76975,13 +76975,13 @@ "description": "The set of accounts that may be used for billing for this EpisodeOfCare." } } - } + }, + "required": [ + "status", + "patient" + ] } ], - "required": [ - "status", - "patient" - ], "example": { "resourceType": "EpisodeOfCare", "meta": { @@ -77298,11 +77298,11 @@ "format": "int32", "description": "Ranking of the diagnosis (for each role type)." } - } + }, + "required": [ + "condition" + ] } - ], - "required": [ - "condition" ] }, "EpisodeOfCare_StatusHistory": { @@ -77330,12 +77330,12 @@ "$ref": "#/components/schemas/Period", "description": "The period during this EpisodeOfCare that the specific status applied." } - } + }, + "required": [ + "status", + "period" + ] } - ], - "required": [ - "status", - "period" ] }, "EventDefinition": { @@ -77514,13 +77514,13 @@ "description": "The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met." } } - } + }, + "required": [ + "status", + "trigger" + ] } ], - "required": [ - "status", - "trigger" - ], "example": { "resourceType": "EventDefinition", "meta": { @@ -78011,13 +78011,13 @@ "description": "A reference to a EvidenceVariable resomece that defines the outcome for the research." } } - } + }, + "required": [ + "status", + "exposureBackground" + ] } ], - "required": [ - "status", - "exposureBackground" - ], "example": { "resourceType": "Evidence", "meta": { @@ -78542,13 +78542,13 @@ "description": "A characteristic that defines the members of the evidence element. Multiple characteristics are applied with \"and\" semantics." } } - } + }, + "required": [ + "status", + "characteristic" + ] } ], - "required": [ - "status", - "characteristic" - ], "example": { "resourceType": "EvidenceVariable", "meta": { @@ -79069,12 +79069,12 @@ "description": "Another nested workflow." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "ExampleScenario", "meta": { @@ -79270,12 +79270,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The description of the actor." } - } + }, + "required": [ + "actorId", + "type" + ] } - ], - "required": [ - "actorId", - "type" ] }, "ExampleScenario_Instance": { @@ -79469,12 +79469,12 @@ "description": "Resources contained in the instance (e.g. the observations contained in a bundle)." } } - } + }, + "required": [ + "resourceId", + "resourceType" + ] } - ], - "required": [ - "resourceId", - "resourceType" ] }, "ExampleScenario_Instance_ContainedInstance": { @@ -79495,11 +79495,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A specific version of a resource contained in the instance." } - } + }, + "required": [ + "resourceId" + ] } - ], - "required": [ - "resourceId" ] }, "ExampleScenario_Instance_Version": { @@ -79520,12 +79520,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The description of the resource version." } - } + }, + "required": [ + "versionId", + "description" + ] } - ], - "required": [ - "versionId", - "description" ] }, "ExampleScenario_Process": { @@ -79563,11 +79563,11 @@ "description": "Each step of the process." } } - } + }, + "required": [ + "title" + ] } - ], - "required": [ - "title" ] }, "ExampleScenario_Process_Step": { @@ -79629,11 +79629,11 @@ "description": "What happens in each alternative option." } } - } + }, + "required": [ + "title" + ] } - ], - "required": [ - "title" ] }, "ExampleScenario_Process_Step_Operation": { @@ -79690,11 +79690,11 @@ "$ref": "#/components/schemas/ExampleScenario_Instance_ContainedInstance", "description": "Each resource instance used by the responder." } - } + }, + "required": [ + "number" + ] } - ], - "required": [ - "number" ] }, "ExplanationOfBenefit": { @@ -79943,20 +79943,20 @@ "description": "Balance by Benefit Category." } } - } + }, + "required": [ + "status", + "type", + "use", + "patient", + "created", + "insurer", + "provider", + "outcome", + "insurance" + ] } ], - "required": [ - "status", - "type", - "use", - "patient", - "created", - "insurer", - "provider", - "outcome", - "insurance" - ], "example": { "resourceType": "ExplanationOfBenefit", "meta": { @@ -81975,11 +81975,11 @@ "description": "The second–tier service adjudications for payor added services." } } - } + }, + "required": [ + "productOrService" + ] } - ], - "required": [ - "productOrService" ] }, "ExplanationOfBenefit_AddItem_Detail": { @@ -82039,11 +82039,11 @@ "description": "Third–tier of goods and services." } } - } + }, + "required": [ + "productOrService" + ] } - ], - "required": [ - "productOrService" ] }, "ExplanationOfBenefit_AddItem_Detail_SubDetail": { @@ -82096,11 +82096,11 @@ "description": "The adjudication results." } } - } + }, + "required": [ + "productOrService" + ] } - ], - "required": [ - "productOrService" ] }, "ExplanationOfBenefit_BenefitBalance": { @@ -82148,11 +82148,11 @@ "description": "Benefits Used to date." } } - } + }, + "required": [ + "category" + ] } - ], - "required": [ - "category" ] }, "ExplanationOfBenefit_BenefitBalance_Financial": { @@ -82190,11 +82190,11 @@ "$ref": "#/components/schemas/Money", "description": "The quantity of the benefit which have been consumed to date." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "ExplanationOfBenefit_CareTeam": { @@ -82226,12 +82226,12 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "The qualification of the practitioner which is applicable for this service." } - } + }, + "required": [ + "sequence", + "provider" + ] } - ], - "required": [ - "sequence", - "provider" ] }, "ExplanationOfBenefit_Diagnosis": { @@ -82270,11 +82270,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system." } - } + }, + "required": [ + "sequence" + ] } - ], - "required": [ - "sequence" ] }, "ExplanationOfBenefit_Insurance": { @@ -82301,12 +82301,12 @@ "description": "Reference numbers previously provided by the insurer to the provider to be quoted on subsequent claims containing services or products related to the prior authorization." } } - } + }, + "required": [ + "focal", + "coverage" + ] } - ], - "required": [ - "focal", - "coverage" ] }, "ExplanationOfBenefit_Item": { @@ -82464,12 +82464,12 @@ "description": "Second–tier of goods and services." } } - } + }, + "required": [ + "sequence", + "productOrService" + ] } - ], - "required": [ - "sequence", - "productOrService" ] }, "ExplanationOfBenefit_Item_Adjudication": { @@ -82496,11 +82496,11 @@ "type": "number", "description": "A non–monetary value associated with the category. Mutually exclusive to the amount element above." } - } + }, + "required": [ + "category" + ] } - ], - "required": [ - "category" ] }, "ExplanationOfBenefit_Item_Detail": { @@ -82587,12 +82587,12 @@ "description": "Third–tier of goods and services." } } - } + }, + "required": [ + "sequence", + "productOrService" + ] } - ], - "required": [ - "sequence", - "productOrService" ] }, "ExplanationOfBenefit_Item_Detail_SubDetail": { @@ -82672,12 +82672,12 @@ "description": "The adjudication results." } } - } + }, + "required": [ + "sequence", + "productOrService" + ] } - ], - "required": [ - "sequence", - "productOrService" ] }, "ExplanationOfBenefit_Payee": { @@ -82777,11 +82777,11 @@ "description": "Unique Device Identifiers associated with this line item." } } - } + }, + "required": [ + "sequence" + ] } - ], - "required": [ - "sequence" ] }, "ExplanationOfBenefit_ProcessNote": { @@ -82898,12 +82898,12 @@ "$ref": "#/components/schemas/Coding", "description": "Provides the reason in the situation where a reason code is required in addition to the content." } - } + }, + "required": [ + "sequence", + "category" + ] } - ], - "required": [ - "sequence", - "category" ] }, "ExplanationOfBenefit_Total": { @@ -82922,12 +82922,12 @@ "$ref": "#/components/schemas/Money", "description": "Monetary total amount associated with the category." } - } + }, + "required": [ + "category", + "amount" + ] } - ], - "required": [ - "category", - "amount" ] }, "FamilyMemberHistory": { @@ -83078,14 +83078,14 @@ "description": "The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources – one per condition." } } - } + }, + "required": [ + "status", + "patient", + "relationship" + ] } ], - "required": [ - "status", - "patient", - "relationship" - ], "example": { "resourceType": "FamilyMemberHistory", "meta": { @@ -83414,11 +83414,11 @@ "description": "An area where general notes can be placed about this specific condition." } } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "Flag": { @@ -83472,14 +83472,14 @@ "$ref": "#/components/schemas/Reference", "description": "The person, organization or device that created the flag." } - } + }, + "required": [ + "status", + "code", + "subject" + ] } ], - "required": [ - "status", - "code", - "subject" - ], "example": { "resourceType": "Flag", "meta": { @@ -83762,14 +83762,14 @@ "description": "Details of what's changed (or not changed)." } } - } + }, + "required": [ + "lifecycleStatus", + "description", + "subject" + ] } ], - "required": [ - "lifecycleStatus", - "description", - "subject" - ], "example": { "resourceType": "Goal", "meta": { @@ -84363,14 +84363,14 @@ "description": "Links this graph makes rules about." } } - } + }, + "required": [ + "name", + "status", + "start" + ] } ], - "required": [ - "name", - "status", - "start" - ], "example": { "resourceType": "GraphDefinition", "meta": { @@ -84714,11 +84714,11 @@ "description": "Additional links from target resource." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "GraphDefinition_Link_Target_Compartment": { @@ -84768,13 +84768,13 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Documentation for FHIRPath expression." } - } + }, + "required": [ + "use", + "code", + "rule" + ] } - ], - "required": [ - "use", - "code", - "rule" ] }, "Group": { @@ -84844,13 +84844,13 @@ "description": "Identifies the resource instances that are members of the group." } } - } + }, + "required": [ + "type", + "actual" + ] } ], - "required": [ - "type", - "actual" - ], "example": { "resourceType": "Group", "meta": { @@ -85064,12 +85064,12 @@ "$ref": "#/components/schemas/Period", "description": "The period over which the characteristic is tested; e.g. the patient had an operation during the month of June." } - } + }, + "required": [ + "code", + "exclude" + ] } - ], - "required": [ - "code", - "exclude" ] }, "Group_Member": { @@ -85092,11 +85092,11 @@ "type": "boolean", "description": "A flag to indicate that the member is no longer in the group, but previously may have been a member." } - } + }, + "required": [ + "entity" + ] } - ], - "required": [ - "entity" ] }, "GuidanceResponse": { @@ -85204,12 +85204,12 @@ "description": "If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "GuidanceResponse", "meta": { @@ -86166,11 +86166,11 @@ "$ref": "#/components/schemas/Period", "description": "Service is not available (seasonally or for a public holiday) from this date." } - } + }, + "required": [ + "description" + ] } - ], - "required": [ - "description" ] }, "ImagingStudy": { @@ -86302,13 +86302,13 @@ "description": "Each study has one or more series of images or other content." } } - } + }, + "required": [ + "status", + "subject" + ] } ], - "required": [ - "status", - "subject" - ], "example": { "resourceType": "ImagingStudy", "meta": { @@ -86902,12 +86902,12 @@ "description": "A single SOP instance within the series, e.g. an image, or presentation state." } } - } + }, + "required": [ + "uid", + "modality" + ] } - ], - "required": [ - "uid", - "modality" ] }, "ImagingStudy_Series_Instance": { @@ -86937,12 +86937,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The description of the instance." } - } + }, + "required": [ + "uid", + "sopClass" + ] } - ], - "required": [ - "uid", - "sopClass" ] }, "ImagingStudy_Series_Performer": { @@ -86961,11 +86961,11 @@ "$ref": "#/components/schemas/Reference", "description": "Indicates who or what performed the series." } - } + }, + "required": [ + "actor" + ] } - ], - "required": [ - "actor" ] }, "Immunization": { @@ -87132,14 +87132,14 @@ "description": "The protocol (set of recommendations) being followed by the provider who administered the dose." } } - } + }, + "required": [ + "status", + "vaccineCode", + "patient" + ] } ], - "required": [ - "status", - "vaccineCode", - "patient" - ], "example": { "resourceType": "Immunization", "meta": { @@ -87670,11 +87670,11 @@ "$ref": "#/components/schemas/Reference", "description": "The practitioner or organization who performed the action." } - } + }, + "required": [ + "actor" + ] } - ], - "required": [ - "actor" ] }, "Immunization_ProtocolApplied": { @@ -87835,16 +87835,16 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The recommended number of doses to achieve immunity." } - } + }, + "required": [ + "status", + "patient", + "targetDisease", + "immunizationEvent", + "doseStatus" + ] } ], - "required": [ - "status", - "patient", - "targetDisease", - "immunizationEvent", - "doseStatus" - ], "example": { "resourceType": "ImmunizationEvaluation", "meta": { @@ -88064,14 +88064,14 @@ "description": "Vaccine administration recommendations." } } - } + }, + "required": [ + "patient", + "date", + "recommendation" + ] } ], - "required": [ - "patient", - "date", - "recommendation" - ], "example": { "resourceType": "ImmunizationRecommendation", "meta": { @@ -88422,11 +88422,11 @@ "description": "Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information." } } - } + }, + "required": [ + "forecastStatus" + ] } - ], - "required": [ - "forecastStatus" ] }, "ImmunizationRecommendation_Recommendation_DateCriterion": { @@ -88446,12 +88446,12 @@ "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?", "description": "The date whose meaning is specified by dateCriterion.code." } - } + }, + "required": [ + "code", + "value" + ] } - ], - "required": [ - "code", - "value" ] }, "ImplementationGuide": { @@ -88947,16 +88947,16 @@ "$ref": "#/components/schemas/ImplementationGuide_Manifest", "description": "Information about an assembled implementation guide, created by the publication tooling." } - } + }, + "required": [ + "url", + "name", + "status", + "packageId", + "fhirVersion" + ] } ], - "required": [ - "url", - "name", - "status", - "packageId", - "fhirVersion" - ], "example": { "resourceType": "ImplementationGuide", "meta": { @@ -89231,11 +89231,11 @@ "description": "A template for building resources." } } - } + }, + "required": [ + "resource" + ] } - ], - "required": [ - "resource" ] }, "ImplementationGuide_Definition_Grouping": { @@ -89256,11 +89256,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Human readable text describing the package." } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "ImplementationGuide_Definition_Page": { @@ -89302,12 +89302,12 @@ "description": "Nested Pages/Sections under this page." } } - } + }, + "required": [ + "title", + "generation" + ] } - ], - "required": [ - "title", - "generation" ] }, "ImplementationGuide_Definition_Parameter": { @@ -89339,12 +89339,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Value for named type." } - } + }, + "required": [ + "code", + "value" + ] } - ], - "required": [ - "code", - "value" ] }, "ImplementationGuide_Definition_Resource": { @@ -89414,11 +89414,11 @@ "pattern": "[A-Za-z0-9\\-\\.]{1,64}", "description": "Reference to the id of the grouping this resource appears in." } - } + }, + "required": [ + "reference" + ] } - ], - "required": [ - "reference" ] }, "ImplementationGuide_Definition_Template": { @@ -89444,12 +89444,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The scope in which the template applies." } - } + }, + "required": [ + "code", + "source" + ] } - ], - "required": [ - "code", - "source" ] }, "ImplementationGuide_DependsOn": { @@ -89475,11 +89475,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The version of the IG that is depended on, when the correct version is required to understand the IG correctly." } - } + }, + "required": [ + "uri" + ] } - ], - "required": [ - "uri" ] }, "ImplementationGuide_Global": { @@ -89649,12 +89649,12 @@ "pattern": "\\S*", "description": "A reference to the profile that all instances must conform to." } - } + }, + "required": [ + "type", + "profile" + ] } - ], - "required": [ - "type", - "profile" ] }, "ImplementationGuide_Manifest": { @@ -89700,11 +89700,11 @@ "description": "Indicates the relative path of an additional non–page, non–image file that is part of the IG – e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG." } } - } + }, + "required": [ + "resource" + ] } - ], - "required": [ - "resource" ] }, "ImplementationGuide_Manifest_Page": { @@ -89733,11 +89733,11 @@ "description": "The name of an anchor available on the page." } } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "ImplementationGuide_Manifest_Resource": { @@ -89766,11 +89766,11 @@ "pattern": "\\S*", "description": "The relative path for primary page for this resource within the IG." } - } + }, + "required": [ + "reference" + ] } - ], - "required": [ - "reference" ] }, "InsurancePlan": { @@ -90498,12 +90498,12 @@ "description": "Specific benefits under this type of coverage." } } - } + }, + "required": [ + "type", + "benefit" + ] } - ], - "required": [ - "type", - "benefit" ] }, "InsurancePlan_Coverage_Benefit": { @@ -90530,11 +90530,11 @@ "description": "The specific limits on the benefit." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "InsurancePlan_Coverage_Benefit_Limit": { @@ -90657,11 +90657,11 @@ "description": "List of the specific benefits under this category of benefit." } } - } + }, + "required": [ + "category" + ] } - ], - "required": [ - "category" ] }, "InsurancePlan_Plan_SpecificCost_Benefit": { @@ -90683,11 +90683,11 @@ "description": "List of the costs associated with a specific benefit." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "InsurancePlan_Plan_SpecificCost_Benefit_Cost": { @@ -90717,11 +90717,11 @@ "$ref": "#/components/schemas/Quantity", "description": "The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance)." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "Invoice": { @@ -90821,12 +90821,12 @@ "description": "Comments made about the invoice by the issuer, subject, or other participants." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "Invoice", "meta": { @@ -91230,11 +91230,11 @@ "$ref": "#/components/schemas/Money", "description": "The amount calculated for this component." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "Invoice_Participant": { @@ -91253,11 +91253,11 @@ "$ref": "#/components/schemas/Reference", "description": "The device, practitioner, etc. who performed or participated in the service." } - } + }, + "required": [ + "actor" + ] } - ], - "required": [ - "actor" ] }, "Library": { @@ -91454,13 +91454,13 @@ "description": "The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base–64 string. Either way, the contentType of the attachment determines how to interpret the content." } } - } + }, + "required": [ + "status", + "type" + ] } ], - "required": [ - "status", - "type" - ], "example": { "resourceType": "Library", "meta": { @@ -91819,12 +91819,12 @@ "description": "Identifies which record considered as the reference to the same real–world occurrence as well as how the items should be evaluated within the collection of linked items." } } - } + }, + "required": [ + "item" + ] } ], - "required": [ - "item" - ], "example": { "resourceType": "Linkage", "meta": { @@ -91943,12 +91943,12 @@ "$ref": "#/components/schemas/Reference", "description": "The resource instance being linked as part of the group." } - } + }, + "required": [ + "type", + "resource" + ] } - ], - "required": [ - "type", - "resource" ] }, "List": { @@ -92032,13 +92032,13 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "If the list is empty, why the list is empty." } - } + }, + "required": [ + "status", + "mode" + ] } ], - "required": [ - "status", - "mode" - ], "example": { "resourceType": "List", "meta": { @@ -92320,11 +92320,11 @@ "$ref": "#/components/schemas/Reference", "description": "A reference to the actual resource from which data was derived." } - } + }, + "required": [ + "item" + ] } - ], - "required": [ - "item" ] }, "Location": { @@ -92726,12 +92726,12 @@ "type": "number", "description": "Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below)." } - } + }, + "required": [ + "longitude", + "latitude" + ] } - ], - "required": [ - "longitude", - "latitude" ] }, "Measure": { @@ -92982,12 +92982,12 @@ "description": "The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "Measure", "meta": { @@ -93458,11 +93458,11 @@ "$ref": "#/components/schemas/Expression", "description": "An expression that specifies the criteria for the population, typically the name of an expression in a library." } - } + }, + "required": [ + "criteria" + ] } - ], - "required": [ - "criteria" ] }, "Measure_Group_Stratifier": { @@ -93518,11 +93518,11 @@ "$ref": "#/components/schemas/Expression", "description": "An expression that specifies the criteria for this component of the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element." } - } + }, + "required": [ + "criteria" + ] } - ], - "required": [ - "criteria" ] }, "Measure_SupplementalData": { @@ -93553,11 +93553,11 @@ "$ref": "#/components/schemas/Expression", "description": "The criteria for the supplemental data. This is typically the name of a valid expression defined within a referenced library, but it may also be a path to a specific data element. The criteria defines the data to be returned for this element." } - } + }, + "required": [ + "criteria" + ] } - ], - "required": [ - "criteria" ] }, "MeasureReport": { @@ -93634,15 +93634,15 @@ "description": "A reference to a Bundle containing the Resources that were used in the calculation of this measure." } } - } + }, + "required": [ + "status", + "type", + "measure", + "period" + ] } ], - "required": [ - "status", - "type", - "measure", - "period" - ], "example": { "resourceType": "MeasureReport", "meta": { @@ -94118,12 +94118,12 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "The stratum component value." } - } + }, + "required": [ + "code", + "value" + ] } - ], - "required": [ - "code", - "value" ] }, "MeasureReport_Group_Stratifier_Stratum_Population": { @@ -94282,13 +94282,13 @@ "description": "Comments made about the media by the performer, subject or other participants." } } - } + }, + "required": [ + "status", + "content" + ] } ], - "required": [ - "status", - "content" - ], "example": { "resourceType": "Media", "meta": { @@ -95029,13 +95029,13 @@ "description": "A summary of the events of interest that have occurred, such as when the administration was verified." } } - } + }, + "required": [ + "status", + "subject" + ] } ], - "required": [ - "status", - "subject" - ], "example": { "resourceType": "MedicationAdministration", "meta": { @@ -95565,11 +95565,11 @@ "$ref": "#/components/schemas/Reference", "description": "Indicates who or what performed the medication administration." } - } + }, + "required": [ + "actor" + ] } - ], - "required": [ - "actor" ] }, "MedicationDispense": { @@ -95727,12 +95727,12 @@ "description": "A summary of the events of interest that have occurred, such as when the dispense was verified." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "MedicationDispense", "meta": { @@ -96445,11 +96445,11 @@ "$ref": "#/components/schemas/Reference", "description": "The device, practitioner, etc. who performed the action. It should be assumed that the actor is the dispenser of the medication." } - } + }, + "required": [ + "actor" + ] } - ], - "required": [ - "actor" ] }, "MedicationDispense_Substitution": { @@ -96482,11 +96482,11 @@ "description": "The person or organization that has primary responsibility for the substitution." } } - } + }, + "required": [ + "wasSubstituted" + ] } - ], - "required": [ - "wasSubstituted" ] }, "MedicationKnowledge": { @@ -97436,12 +97436,12 @@ "description": "Dosage for the medication for the specific guidelines." } } - } + }, + "required": [ + "type", + "dosage" + ] } - ], - "required": [ - "type", - "dosage" ] }, "MedicationKnowledge_AdministrationGuidelines_PatientCharacteristics": { @@ -97493,12 +97493,12 @@ "$ref": "#/components/schemas/Money", "description": "The price of the medication." } - } + }, + "required": [ + "type", + "cost" + ] } - ], - "required": [ - "type", - "cost" ] }, "MedicationKnowledge_DrugCharacteristic": { @@ -97612,11 +97612,11 @@ "description": "Specific category assigned to the medication (e.g. anti–infective, anti–hypertensive, antibiotic, etc.)." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "MedicationKnowledge_MonitoringProgram": { @@ -97710,11 +97710,11 @@ "$ref": "#/components/schemas/MedicationKnowledge_Regulatory_MaxDispense", "description": "The maximum number of units of the medication that can be dispensed in a period." } - } + }, + "required": [ + "regulatoryAuthority" + ] } - ], - "required": [ - "regulatoryAuthority" ] }, "MedicationKnowledge_Regulatory_MaxDispense": { @@ -97733,11 +97733,11 @@ "$ref": "#/components/schemas/Duration", "description": "The period that applies to the maximum number of units." } - } + }, + "required": [ + "quantity" + ] } - ], - "required": [ - "quantity" ] }, "MedicationKnowledge_Regulatory_Schedule": { @@ -97752,11 +97752,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "Specifies the specific drug schedule." } - } + }, + "required": [ + "schedule" + ] } - ], - "required": [ - "schedule" ] }, "MedicationKnowledge_Regulatory_Substitution": { @@ -97775,12 +97775,12 @@ "type": "boolean", "description": "Specifies if regulation allows for changes in the medication when dispensing." } - } + }, + "required": [ + "type", + "allowed" + ] } - ], - "required": [ - "type", - "allowed" ] }, "MedicationKnowledge_RelatedMedicationKnowledge": { @@ -97802,12 +97802,12 @@ "description": "Associated documentation about the associated medication knowledge." } } - } + }, + "required": [ + "type", + "reference" + ] } - ], - "required": [ - "type", - "reference" ] }, "MedicationRequest": { @@ -98022,14 +98022,14 @@ "description": "Links to Provenance records for past versions of this resource or fulfilling request or event resources that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the resource." } } - } + }, + "required": [ + "status", + "intent", + "subject" + ] } ], - "required": [ - "status", - "intent", - "subject" - ], "example": { "resourceType": "MedicationRequest", "meta": { @@ -99016,13 +99016,13 @@ "description": "Indicates how the medication is/was or should be taken by the patient." } } - } + }, + "required": [ + "status", + "subject" + ] } ], - "required": [ - "status", - "subject" - ], "example": { "resourceType": "MedicationStatement", "meta": { @@ -99661,12 +99661,12 @@ "description": "Indicates if the medicinal product has an orphan designation for the treatment of a rare disease." } } - } + }, + "required": [ + "name" + ] } ], - "required": [ - "name" - ], "example": { "resourceType": "MedicinalProduct", "meta": { @@ -100365,11 +100365,11 @@ "description": "Country where the name applies." } } - } + }, + "required": [ + "productName" + ] } - ], - "required": [ - "productName" ] }, "MedicinalProduct_Name_CountryLanguage": { @@ -100392,12 +100392,12 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "Language code for this name." } - } + }, + "required": [ + "country", + "language" + ] } - ], - "required": [ - "country", - "language" ] }, "MedicinalProduct_Name_NamePart": { @@ -100417,12 +100417,12 @@ "$ref": "#/components/schemas/Coding", "description": "Idenifying type for this part of the name (e.g. strength part)." } - } + }, + "required": [ + "part", + "type" + ] } - ], - "required": [ - "part", - "type" ] }, "MedicinalProduct_SpecialDesignation": { @@ -100946,11 +100946,11 @@ "description": "Applcations submitted to obtain a marketing authorization." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "MedicinalProductContraindication": { @@ -101236,11 +101236,11 @@ "$ref": "#/components/schemas/Reference", "description": "Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication." } - } + }, + "required": [ + "therapyRelationshipType" + ] } - ], - "required": [ - "therapyRelationshipType" ] }, "MedicinalProductIndication": { @@ -101553,11 +101553,11 @@ "$ref": "#/components/schemas/Reference", "description": "Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication." } - } + }, + "required": [ + "therapyRelationshipType" + ] } - ], - "required": [ - "therapyRelationshipType" ] }, "MedicinalProductIngredient": { @@ -101598,12 +101598,12 @@ "$ref": "#/components/schemas/MedicinalProductIngredient_Substance", "description": "Relevant reference substance." } - } + }, + "required": [ + "role" + ] } ], - "required": [ - "role" - ], "example": { "resourceType": "MedicinalProductIngredient", "meta": { @@ -102078,12 +102078,12 @@ "description": "Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product." } } - } + }, + "required": [ + "code", + "group" + ] } - ], - "required": [ - "code", - "group" ] }, "MedicinalProductIngredient_SpecifiedSubstance_Strength": { @@ -102129,11 +102129,11 @@ "description": "Strength expressed in terms of a reference substance." } } - } + }, + "required": [ + "presentation" + ] } - ], - "required": [ - "presentation" ] }, "MedicinalProductIngredient_SpecifiedSubstance_Strength_ReferenceStrength": { @@ -102168,11 +102168,11 @@ "description": "The country or countries for which the strength range applies." } } - } + }, + "required": [ + "strength" + ] } - ], - "required": [ - "strength" ] }, "MedicinalProductIngredient_Substance": { @@ -102194,11 +102194,11 @@ "description": "Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product." } } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "MedicinalProductInteraction": { @@ -102458,13 +102458,13 @@ "description": "Other codeable characteristics." } } - } + }, + "required": [ + "manufacturedDoseForm", + "quantity" + ] } ], - "required": [ - "manufacturedDoseForm", - "quantity" - ], "example": { "resourceType": "MedicinalProductManufactured", "meta": { @@ -102743,12 +102743,12 @@ "description": "A packaging item, as a contained for medicine, possibly with other packaging items within." } } - } + }, + "required": [ + "packageItem" + ] } ], - "required": [ - "packageItem" - ], "example": { "resourceType": "MedicinalProductPackaged", "meta": { @@ -103318,11 +103318,11 @@ "$ref": "#/components/schemas/Identifier", "description": "A number appearing on the immediate packaging (and not the outer packaging)." } - } + }, + "required": [ + "outerPackaging" + ] } - ], - "required": [ - "outerPackaging" ] }, "MedicinalProductPackaged_PackageItem": { @@ -103408,12 +103408,12 @@ "description": "Manufacturer of this Package Item." } } - } + }, + "required": [ + "type", + "quantity" + ] } - ], - "required": [ - "type", - "quantity" ] }, "MedicinalProductPharmaceutical": { @@ -103467,13 +103467,13 @@ "description": "The path by which the pharmaceutical product is taken into or makes contact with the body." } } - } + }, + "required": [ + "administrableDoseForm", + "routeOfAdministration" + ] } ], - "required": [ - "administrableDoseForm", - "routeOfAdministration" - ], "example": { "resourceType": "MedicinalProductPharmaceutical", "meta": { @@ -103760,11 +103760,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "The status of characteristic e.g. assigned or pending." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "MedicinalProductPharmaceutical_RouteOfAdministration": { @@ -103806,11 +103806,11 @@ "description": "A species for which this route applies." } } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "MedicinalProductPharmaceutical_RouteOfAdministration_TargetSpecies": { @@ -103832,11 +103832,11 @@ "description": "A species specific time during which consumption of animal product is not appropriate." } } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "MedicinalProductPharmaceutical_RouteOfAdministration_TargetSpecies_WithdrawalPeriod": { @@ -103860,12 +103860,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Extra information about the withdrawal period." } - } + }, + "required": [ + "tissue", + "value" + ] } - ], - "required": [ - "tissue", - "value" ] }, "MedicinalProductUndesirableEffect": { @@ -104222,13 +104222,13 @@ "description": "Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [GraphDefinition](graphdefinition.html) that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources." } } - } + }, + "required": [ + "status", + "date" + ] } ], - "required": [ - "status", - "date" - ], "example": { "resourceType": "MessageDefinition", "meta": { @@ -104407,11 +104407,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses)." } - } + }, + "required": [ + "message" + ] } - ], - "required": [ - "message" ] }, "MessageDefinition_Focus": { @@ -104591,12 +104591,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition." } - } + }, + "required": [ + "code", + "min" + ] } - ], - "required": [ - "code", - "min" ] }, "MessageHeader": { @@ -104663,12 +104663,12 @@ "pattern": "\\S*", "description": "Permanent link to the MessageDefinition for this message." } - } + }, + "required": [ + "source" + ] } ], - "required": [ - "source" - ], "example": { "resourceType": "MessageHeader", "meta": { @@ -104990,11 +104990,11 @@ "$ref": "#/components/schemas/Reference", "description": "Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient." } - } + }, + "required": [ + "endpoint" + ] } - ], - "required": [ - "endpoint" ] }, "MessageHeader_Response": { @@ -105023,12 +105023,12 @@ "$ref": "#/components/schemas/Reference", "description": "Full details of any issues found in the message." } - } + }, + "required": [ + "identifier", + "code" + ] } - ], - "required": [ - "identifier", - "code" ] }, "MessageHeader_Source": { @@ -105063,11 +105063,11 @@ "pattern": "\\S*", "description": "Identifies the routing target to send acknowledgements to." } - } + }, + "required": [ + "endpoint" + ] } - ], - "required": [ - "endpoint" ] }, "MolecularSequence": { @@ -105168,12 +105168,12 @@ "description": "Information about chromosome structure variation." } } - } + }, + "required": [ + "coordinateSystem" + ] } ], - "required": [ - "coordinateSystem" - ], "example": { "resourceType": "MolecularSequence", "meta": { @@ -105652,11 +105652,11 @@ "$ref": "#/components/schemas/MolecularSequence_Quality_Roc", "description": "Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "MolecularSequence_Quality_Roc": { @@ -105828,11 +105828,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Id of the read in this external repository." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "MolecularSequence_StructureVariant": { @@ -106042,16 +106042,16 @@ "description": "Indicates how the system may be identified when referenced in electronic exchange." } } - } + }, + "required": [ + "name", + "status", + "kind", + "date", + "uniqueId" + ] } ], - "required": [ - "name", - "status", - "kind", - "date", - "uniqueId" - ], "example": { "resourceType": "NamingSystem", "meta": { @@ -106213,12 +106213,12 @@ "$ref": "#/components/schemas/Period", "description": "Identifies the period of time over which this identifier is considered appropriate to refer to the naming system. Outside of this window, the identifier might be non–deterministic." } - } + }, + "required": [ + "type", + "value" + ] } - ], - "required": [ - "type", - "value" ] }, "NutritionOrder": { @@ -106348,15 +106348,15 @@ "description": "Comments made about the {{title}} by the requester, performer, subject or other participants." } } - } + }, + "required": [ + "status", + "intent", + "patient", + "dateTime" + ] } ], - "required": [ - "status", - "intent", - "patient", - "dateTime" - ], "example": { "resourceType": "NutritionOrder", "meta": { @@ -107321,13 +107321,13 @@ "description": "Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations." } } - } + }, + "required": [ + "status", + "code" + ] } ], - "required": [ - "status", - "code" - ], "example": { "resourceType": "Observation", "meta": { @@ -107997,11 +107997,11 @@ "description": "Guidance on how to interpret the value by comparison to a normal or recommended range." } } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "Observation_ReferenceRange": { @@ -108130,12 +108130,12 @@ "$ref": "#/components/schemas/Reference", "description": "The set of critical coded results for the observation conforming to this ObservationDefinition." } - } + }, + "required": [ + "code" + ] } ], - "required": [ - "code" - ], "example": { "resourceType": "ObservationDefinition", "meta": { @@ -108821,18 +108821,18 @@ "description": "Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation." } } - } + }, + "required": [ + "name", + "status", + "kind", + "code", + "system", + "type", + "instance" + ] } ], - "required": [ - "name", - "status", - "kind", - "code", - "system", - "type", - "instance" - ], "example": { "resourceType": "OperationDefinition", "meta": { @@ -109302,14 +109302,14 @@ "description": "The parts of a nested Parameter." } } - } + }, + "required": [ + "name", + "use", + "min", + "max" + ] } - ], - "required": [ - "name", - "use", - "min", - "max" ] }, "OperationDefinition_Parameter_Binding": { @@ -109335,12 +109335,12 @@ "pattern": "\\S*", "description": "Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used." } - } + }, + "required": [ + "strength", + "valueSet" + ] } - ], - "required": [ - "strength", - "valueSet" ] }, "OperationDefinition_Parameter_ReferencedFrom": { @@ -109361,11 +109361,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The id of the element in the referencing resource that is expected to resolve to this resource." } - } + }, + "required": [ + "source" + ] } - ], - "required": [ - "source" ] }, "OperationOutcome": { @@ -109383,12 +109383,12 @@ "description": "An error, warning, or information message that results from a system action." } } - } + }, + "required": [ + "issue" + ] } ], - "required": [ - "issue" - ], "example": { "resourceType": "OperationOutcome", "meta": { @@ -109533,12 +109533,12 @@ "description": "A [simple subset of FHIRPath](fhirpath.html#simple) limited to element names, repetition indicators and the default child accessor that identifies one of the elements in the resource that caused this issue to be raised." } } - } + }, + "required": [ + "severity", + "code" + ] } - ], - "required": [ - "severity", - "code" ] }, "Organization": { @@ -110704,11 +110704,11 @@ "type": "boolean", "description": "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level)." } - } + }, + "required": [ + "language" + ] } - ], - "required": [ - "language" ] }, "Patient_Contact": { @@ -110785,12 +110785,12 @@ ], "description": "The type of link between this patient resource and another patient resource." } - } + }, + "required": [ + "other", + "type" + ] } - ], - "required": [ - "other", - "type" ] }, "PaymentNotice": { @@ -110860,16 +110860,16 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "A code indicating whether payment has been sent or cleared." } - } + }, + "required": [ + "status", + "created", + "payment", + "recipient", + "amount" + ] } ], - "required": [ - "status", - "created", - "payment", - "recipient", - "amount" - ], "example": { "resourceType": "PaymentNotice", "meta": { @@ -111199,15 +111199,15 @@ "description": "A note that describes or explains the processing in a human readable form." } } - } + }, + "required": [ + "status", + "created", + "paymentDate", + "paymentAmount" + ] } ], - "required": [ - "status", - "created", - "paymentDate", - "paymentAmount" - ], "example": { "resourceType": "PaymentReconciliation", "meta": { @@ -111642,11 +111642,11 @@ "$ref": "#/components/schemas/Money", "description": "The monetary amount allocated from the total payment to the payable." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "PaymentReconciliation_ProcessNote": { @@ -111953,11 +111953,11 @@ ], "description": "Level of assurance that this link is associated with the target resource." } - } + }, + "required": [ + "target" + ] } - ], - "required": [ - "target" ] }, "PlanDefinition": { @@ -112155,12 +112155,12 @@ "description": "An action or group of actions to be taken as part of the plan." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "PlanDefinition", "meta": { @@ -112787,11 +112787,11 @@ "$ref": "#/components/schemas/Expression", "description": "An expression that returns true or false, indicating whether the condition is satisfied." } - } + }, + "required": [ + "kind" + ] } - ], - "required": [ - "kind" ] }, "PlanDefinition_Action_DynamicValue": { @@ -112837,11 +112837,11 @@ "$ref": "#/components/schemas/CodeableConcept", "description": "The role the participant should play in performing the described action." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "PlanDefinition_Action_RelatedAction": { @@ -112880,12 +112880,12 @@ "$ref": "#/components/schemas/Range", "description": "A duration or range of durations to apply to the relationship. For example, 30–60 minutes before." } - } + }, + "required": [ + "actionId", + "relationship" + ] } - ], - "required": [ - "actionId", - "relationship" ] }, "PlanDefinition_Goal": { @@ -112933,11 +112933,11 @@ "description": "Indicates what should be done and within what timeframe." } } - } + }, + "required": [ + "description" + ] } - ], - "required": [ - "description" ] }, "PlanDefinition_Goal_Target": { @@ -113289,11 +113289,11 @@ "$ref": "#/components/schemas/Reference", "description": "Organization that regulates and issues the qualification." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "PractitionerRole": { @@ -113713,11 +113713,11 @@ "$ref": "#/components/schemas/Period", "description": "Service is not available (seasonally or for a public holiday) from this date." } - } + }, + "required": [ + "description" + ] } - ], - "required": [ - "description" ] }, "Procedure": { @@ -113921,13 +113921,13 @@ "description": "Identifies coded items that were used as part of the procedure." } } - } + }, + "required": [ + "status", + "subject" + ] } ], - "required": [ - "status", - "subject" - ], "example": { "resourceType": "Procedure", "meta": { @@ -114572,11 +114572,11 @@ "$ref": "#/components/schemas/Reference", "description": "The device that was manipulated (changed) during the procedure." } - } + }, + "required": [ + "manipulated" + ] } - ], - "required": [ - "manipulated" ] }, "Procedure_Performer": { @@ -114599,11 +114599,11 @@ "$ref": "#/components/schemas/Reference", "description": "The organization the device or practitioner was acting on behalf of." } - } + }, + "required": [ + "actor" + ] } - ], - "required": [ - "actor" ] }, "Provenance": { @@ -114679,14 +114679,14 @@ "description": "A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated." } } - } + }, + "required": [ + "target", + "recorded", + "agent" + ] } ], - "required": [ - "target", - "recorded", - "agent" - ], "example": { "resourceType": "Provenance", "meta": { @@ -115105,11 +115105,11 @@ "$ref": "#/components/schemas/Reference", "description": "The individual, device, or organization for whom the change was made." } - } + }, + "required": [ + "who" + ] } - ], - "required": [ - "who" ] }, "Provenance_Entity": { @@ -115142,12 +115142,12 @@ "description": "The entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity." } } - } + }, + "required": [ + "role", + "what" + ] } - ], - "required": [ - "role", - "what" ] }, "Questionnaire": { @@ -115438,12 +115438,12 @@ "description": "A particular question, question grouping or display text that is part of the questionnaire." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "Questionnaire", "meta": { @@ -115737,12 +115737,12 @@ "description": "Text, questions and other groups to be nested beneath a question or group." } } - } + }, + "required": [ + "linkId", + "type" + ] } - ], - "required": [ - "linkId", - "type" ] }, "Questionnaire_Item_AnswerOption": { @@ -115860,12 +115860,12 @@ "$ref": "#/components/schemas/Reference", "description": "A value that the referenced question is tested using the specified operator in order for the item to be enabled." } - } + }, + "required": [ + "question", + "operator" + ] } - ], - "required": [ - "question", - "operator" ] }, "Questionnaire_Item_Initial": { @@ -116004,12 +116004,12 @@ "description": "A group or question item from the original questionnaire for which answers are provided." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "QuestionnaireResponse", "meta": { @@ -116270,11 +116270,11 @@ "description": "Questions or sub–groups nested beneath a question or group." } } - } + }, + "required": [ + "linkId" + ] } - ], - "required": [ - "linkId" ] }, "QuestionnaireResponse_Item_Answer": { @@ -116434,12 +116434,12 @@ "description": "A language which may be used to communicate with about the patient's health." } } - } + }, + "required": [ + "patient" + ] } ], - "required": [ - "patient" - ], "example": { "resourceType": "RelatedPerson", "meta": { @@ -116645,11 +116645,11 @@ "type": "boolean", "description": "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level)." } - } + }, + "required": [ + "language" + ] } - ], - "required": [ - "language" ] }, "RequestGroup": { @@ -116788,13 +116788,13 @@ "description": "The actions, if any, produced by the evaluation of the artifact." } } - } + }, + "required": [ + "status", + "intent" + ] } ], - "required": [ - "status", - "intent" - ], "example": { "resourceType": "RequestGroup", "meta": { @@ -117432,11 +117432,11 @@ "$ref": "#/components/schemas/Expression", "description": "An expression that returns true or false, indicating whether or not the condition is satisfied." } - } + }, + "required": [ + "kind" + ] } - ], - "required": [ - "kind" ] }, "RequestGroup_Action_RelatedAction": { @@ -117475,12 +117475,12 @@ "$ref": "#/components/schemas/Range", "description": "A duration or range of durations to apply to the relationship. For example, 30–60 minutes before." } - } + }, + "required": [ + "actionId", + "relationship" + ] } - ], - "required": [ - "actionId", - "relationship" ] }, "ResearchDefinition": { @@ -117689,13 +117689,13 @@ "$ref": "#/components/schemas/Reference", "description": "A reference to a ResearchElementDefinition resomece that defines the outcome for the research." } - } + }, + "required": [ + "status", + "population" + ] } ], - "required": [ - "status", - "population" - ], "example": { "resourceType": "ResearchDefinition", "meta": { @@ -118271,14 +118271,14 @@ "description": "A characteristic that defines the members of the research element. Multiple characteristics are applied with \"and\" semantics." } } - } + }, + "required": [ + "status", + "type", + "characteristic" + ] } ], - "required": [ - "status", - "type", - "characteristic" - ], "example": { "resourceType": "ResearchElementDefinition", "meta": { @@ -118885,12 +118885,12 @@ "description": "A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "ResearchStudy", "meta": { @@ -119356,11 +119356,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A succinct description of the path through the study that would be followed by a subject adhering to this arm." } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "ResearchStudy_Objective": { @@ -119444,14 +119444,14 @@ "$ref": "#/components/schemas/Reference", "description": "A record of the patient's informed agreement to participate in the study." } - } + }, + "required": [ + "status", + "study", + "individual" + ] } ], - "required": [ - "status", - "study", - "individual" - ], "example": { "resourceType": "ResearchSubject", "meta": { @@ -119709,13 +119709,13 @@ "description": "Additional comments about the risk assessment." } } - } + }, + "required": [ + "status", + "subject" + ] } ], - "required": [ - "status", - "subject" - ], "example": { "resourceType": "RiskAssessment", "meta": { @@ -120327,14 +120327,14 @@ "description": "A description of the certainty of the risk estimate." } } - } + }, + "required": [ + "status", + "population", + "outcome" + ] } ], - "required": [ - "status", - "population", - "outcome" - ], "example": { "resourceType": "RiskEvidenceSynthesis", "meta": { @@ -121087,12 +121087,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated." } - } + }, + "required": [ + "actor" + ] } ], - "required": [ - "actor" - ], "example": { "resourceType": "Schedule", "meta": { @@ -121731,18 +121731,18 @@ "description": "Used to define the parts of a composite search parameter." } } - } + }, + "required": [ + "url", + "name", + "status", + "description", + "code", + "base", + "type" + ] } ], - "required": [ - "url", - "name", - "status", - "description", - "code", - "base", - "type" - ], "example": { "resourceType": "SearchParameter", "meta": { @@ -121892,12 +121892,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A sub–expression that defines how to extract values for this component from the output of the main SearchParameter.expression." } - } + }, + "required": [ + "definition", + "expression" + ] } - ], - "required": [ - "definition", - "expression" ] }, "ServiceRequest": { @@ -122145,14 +122145,14 @@ "description": "Key events in the history of the request." } } - } + }, + "required": [ + "status", + "intent", + "subject" + ] } ], - "required": [ - "status", - "intent", - "subject" - ], "example": { "resourceType": "ServiceRequest", "meta": { @@ -122787,15 +122787,15 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Comments on the slot to describe any extended information. Such as custom constraints on the slot." } - } + }, + "required": [ + "schedule", + "status", + "start", + "end" + ] } ], - "required": [ - "schedule", - "status", - "start", - "end" - ], "example": { "resourceType": "Slot", "meta": { @@ -123914,11 +123914,11 @@ "description": "Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process." } } - } + }, + "required": [ + "preference" + ] } - ], - "required": [ - "preference" ] }, "SpecimenDefinition_TypeTested_Container": { @@ -124216,17 +124216,17 @@ "$ref": "#/components/schemas/StructureDefinition_Differential", "description": "A differential view is expressed relative to the base StructureDefinition – a statement of differences that it applies." } - } + }, + "required": [ + "url", + "name", + "status", + "kind", + "abstract", + "type" + ] } ], - "required": [ - "url", - "name", - "status", - "kind", - "abstract", - "type" - ], "example": { "resourceType": "StructureDefinition", "meta": { @@ -124624,12 +124624,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "An expression that defines where an extension can be used in resources." } - } + }, + "required": [ + "type", + "expression" + ] } - ], - "required": [ - "type", - "expression" ] }, "StructureDefinition_Differential": { @@ -124647,11 +124647,11 @@ "description": "Captures constraints on each element within the resource." } } - } + }, + "required": [ + "element" + ] } - ], - "required": [ - "element" ] }, "StructureDefinition_Mapping": { @@ -124682,11 +124682,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage." } - } + }, + "required": [ + "identity" + ] } - ], - "required": [ - "identity" ] }, "StructureDefinition_Snapshot": { @@ -124704,11 +124704,11 @@ "description": "Captures constraints on each element within the resource." } } - } + }, + "required": [ + "element" + ] } - ], - "required": [ - "element" ] }, "StructureMap": { @@ -124828,15 +124828,15 @@ "description": "Organizes the mapping into manageable chunks for human review/ease of maintenance." } } - } + }, + "required": [ + "url", + "name", + "status", + "group" + ] } ], - "required": [ - "url", - "name", - "status", - "group" - ], "example": { "resourceType": "StructureMap", "meta": { @@ -125084,14 +125084,14 @@ "description": "Transform Rule from source to target." } } - } + }, + "required": [ + "name", + "typeMode", + "input", + "rule" + ] } - ], - "required": [ - "name", - "typeMode", - "input", - "rule" ] }, "StructureMap_Group_Input": { @@ -125125,12 +125125,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Documentation for this instance of data." } - } + }, + "required": [ + "name", + "mode" + ] } - ], - "required": [ - "name", - "mode" ] }, "StructureMap_Group_Rule": { @@ -125179,12 +125179,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Documentation for this instance of data." } - } + }, + "required": [ + "name", + "source" + ] } - ], - "required": [ - "name", - "source" ] }, "StructureMap_Group_Rule_Dependent": { @@ -125208,12 +125208,12 @@ "description": "Variable to pass to the rule or group." } } - } + }, + "required": [ + "name", + "variable" + ] } - ], - "required": [ - "name", - "variable" ] }, "StructureMap_Group_Rule_Source": { @@ -125473,11 +125473,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found." } - } + }, + "required": [ + "context" + ] } - ], - "required": [ - "context" ] }, "StructureMap_Group_Rule_Target": { @@ -125631,12 +125631,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Documentation that describes how the structure is used in the mapping." } - } + }, + "required": [ + "url", + "mode" + ] } - ], - "required": [ - "url", - "mode" ] }, "Subscription": { @@ -125688,15 +125688,15 @@ "$ref": "#/components/schemas/Subscription_Channel", "description": "Details where to send notifications when resources are received that meet the criteria." } - } + }, + "required": [ + "status", + "reason", + "criteria", + "channel" + ] } ], - "required": [ - "status", - "reason", - "criteria", - "channel" - ], "example": { "resourceType": "Subscription", "meta": { @@ -125798,11 +125798,11 @@ "description": "Additional headers / information to send as part of the notification." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "Substance": { @@ -125859,12 +125859,12 @@ "description": "A substance can be composed of other substances." } } - } + }, + "required": [ + "code" + ] } ], - "required": [ - "code" - ], "example": { "resourceType": "Substance", "meta": { @@ -129427,11 +129427,11 @@ "description": "Supporting literature." } } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "SubstanceSpecification_Name_Official": { @@ -130173,12 +130173,12 @@ "$ref": "#/components/schemas/Reference", "description": "Where the supply is destined to go." } - } + }, + "required": [ + "quantity" + ] } ], - "required": [ - "quantity" - ], "example": { "resourceType": "SupplyRequest", "meta": { @@ -130679,13 +130679,13 @@ "description": "Outputs produced by the Task." } } - } + }, + "required": [ + "status", + "intent" + ] } ], - "required": [ - "status", - "intent" - ], "example": { "resourceType": "Task", "meta": { @@ -131442,11 +131442,11 @@ "$ref": "#/components/schemas/Meta", "description": "The value of the input parameter as a basic type." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "Task_Output": { @@ -131654,11 +131654,11 @@ "$ref": "#/components/schemas/Meta", "description": "The value of the Output parameter as a basic type." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "Task_Restriction": { @@ -131829,14 +131829,14 @@ "$ref": "#/components/schemas/TerminologyCapabilities_Closure", "description": "Whether the $closure operation is supported." } - } + }, + "required": [ + "status", + "date", + "kind" + ] } ], - "required": [ - "status", - "date", - "kind" - ], "example": { "resourceType": "TerminologyCapabilities", "meta": { @@ -132113,12 +132113,12 @@ "description": "Operations supported for the property." } } - } + }, + "required": [ + "code", + "op" + ] } - ], - "required": [ - "code", - "op" ] }, "TerminologyCapabilities_Expansion": { @@ -132175,11 +132175,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Description of support for parameter." } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "TerminologyCapabilities_Implementation": { @@ -132200,11 +132200,11 @@ "pattern": "\\S*", "description": "An absolute base URL for the implementation." } - } + }, + "required": [ + "description" + ] } - ], - "required": [ - "description" ] }, "TerminologyCapabilities_Software": { @@ -132225,11 +132225,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The version identifier for the software covered by this statement." } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "TerminologyCapabilities_Translation": { @@ -132244,11 +132244,11 @@ "type": "boolean", "description": "Whether the client must identify the map." } - } + }, + "required": [ + "needsMap" + ] } - ], - "required": [ - "needsMap" ] }, "TerminologyCapabilities_ValidateCode": { @@ -132263,11 +132263,11 @@ "type": "boolean", "description": "Whether translations are validated." } - } + }, + "required": [ + "translations" + ] } - ], - "required": [ - "translations" ] }, "TestReport": { @@ -132347,14 +132347,14 @@ "$ref": "#/components/schemas/TestReport_Teardown", "description": "The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise)." } - } + }, + "required": [ + "status", + "testScript", + "result" + ] } ], - "required": [ - "status", - "testScript", - "result" - ], "example": { "resourceType": "TestReport", "meta": { @@ -132528,12 +132528,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The display name of the participant." } - } + }, + "required": [ + "type", + "uri" + ] } - ], - "required": [ - "type", - "uri" ] }, "TestReport_Setup": { @@ -132551,11 +132551,11 @@ "description": "Action would contain either an operation or an assertion." } } - } + }, + "required": [ + "action" + ] } - ], - "required": [ - "action" ] }, "TestReport_Setup_Action": { @@ -132607,11 +132607,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A link to further details on the result." } - } + }, + "required": [ + "result" + ] } - ], - "required": [ - "result" ] }, "TestReport_Setup_Action_Operation": { @@ -132643,11 +132643,11 @@ "pattern": "\\S*", "description": "A link to further details on the result." } - } + }, + "required": [ + "result" + ] } - ], - "required": [ - "result" ] }, "TestReport_Teardown": { @@ -132665,11 +132665,11 @@ "description": "The teardown action will only contain an operation." } } - } + }, + "required": [ + "action" + ] } - ], - "required": [ - "action" ] }, "TestReport_Teardown_Action": { @@ -132684,11 +132684,11 @@ "$ref": "#/components/schemas/TestReport_Setup_Action_Operation", "description": "The operation performed." } - } + }, + "required": [ + "operation" + ] } - ], - "required": [ - "operation" ] }, "TestReport_Test": { @@ -132716,11 +132716,11 @@ "description": "Action would contain either an operation or an assertion." } } - } + }, + "required": [ + "action" + ] } - ], - "required": [ - "action" ] }, "TestReport_Test_Action": { @@ -132889,14 +132889,14 @@ "$ref": "#/components/schemas/TestScript_Teardown", "description": "A series of operations required to clean up after all the tests are executed (successfully or otherwise)." } - } + }, + "required": [ + "url", + "name", + "status" + ] } ], - "required": [ - "url", - "name", - "status" - ], "example": { "resourceType": "TestScript", "meta": { @@ -133318,12 +133318,12 @@ "$ref": "#/components/schemas/Coding", "description": "The type of destination profile the test system supports." } - } + }, + "required": [ + "index", + "profile" + ] } - ], - "required": [ - "index", - "profile" ] }, "TestScript_Fixture": { @@ -133346,12 +133346,12 @@ "$ref": "#/components/schemas/Reference", "description": "Reference to the resource (containing the contents of the resource needed for operations)." } - } + }, + "required": [ + "autocreate", + "autodelete" + ] } - ], - "required": [ - "autocreate", - "autodelete" ] }, "TestScript_Metadata": { @@ -133376,11 +133376,11 @@ "description": "Capabilities that must exist and are assumed to function correctly on the FHIR server being tested." } } - } + }, + "required": [ + "capability" + ] } - ], - "required": [ - "capability" ] }, "TestScript_Metadata_Capability": { @@ -133430,13 +133430,13 @@ "pattern": "\\S*", "description": "Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped." } - } + }, + "required": [ + "required", + "validated", + "capabilities" + ] } - ], - "required": [ - "required", - "validated", - "capabilities" ] }, "TestScript_Metadata_Link": { @@ -133457,11 +133457,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Short description of the link." } - } + }, + "required": [ + "url" + ] } - ], - "required": [ - "url" ] }, "TestScript_Origin": { @@ -133481,12 +133481,12 @@ "$ref": "#/components/schemas/Coding", "description": "The type of origin profile the test system supports." } - } + }, + "required": [ + "index", + "profile" + ] } - ], - "required": [ - "index", - "profile" ] }, "TestScript_Setup": { @@ -133504,11 +133504,11 @@ "description": "Action would contain either an operation or an assertion." } } - } + }, + "required": [ + "action" + ] } - ], - "required": [ - "action" ] }, "TestScript_Setup_Action": { @@ -133895,11 +133895,11 @@ "type": "boolean", "description": "Whether or not the test execution will produce a warning only on error for this assert." } - } + }, + "required": [ + "warningOnly" + ] } - ], - "required": [ - "warningOnly" ] }, "TestScript_Setup_Action_Operation": { @@ -134215,11 +134215,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Complete request URL." } - } + }, + "required": [ + "encodeRequestUrl" + ] } - ], - "required": [ - "encodeRequestUrl" ] }, "TestScript_Setup_Action_Operation_RequestHeader": { @@ -134240,12 +134240,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The value of the header e.g. \"application/fhir+xml\"." } - } + }, + "required": [ + "field", + "value" + ] } - ], - "required": [ - "field", - "value" ] }, "TestScript_Teardown": { @@ -134263,11 +134263,11 @@ "description": "The teardown action will only contain an operation." } } - } + }, + "required": [ + "action" + ] } - ], - "required": [ - "action" ] }, "TestScript_Teardown_Action": { @@ -134282,11 +134282,11 @@ "$ref": "#/components/schemas/TestScript_Setup_Action_Operation", "description": "The operation to perform." } - } + }, + "required": [ + "operation" + ] } - ], - "required": [ - "operation" ] }, "TestScript_Test": { @@ -134314,11 +134314,11 @@ "description": "Action would contain either an operation or an assertion." } } - } + }, + "required": [ + "action" + ] } - ], - "required": [ - "action" ] }, "TestScript_Test_Action": { @@ -134389,11 +134389,11 @@ "pattern": "[A-Za-z0-9\\-\\.]{1,64}", "description": "Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable." } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "ValueSet": { @@ -134503,12 +134503,12 @@ "$ref": "#/components/schemas/ValueSet_Expansion", "description": "A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed." } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "ValueSet", "meta": { @@ -134763,11 +134763,11 @@ "description": "Exclude one or more codes from the value set based on code system filters and/or other value sets." } } - } + }, + "required": [ + "include" + ] } - ], - "required": [ - "include" ] }, "ValueSet_Compose_Include": { @@ -134839,11 +134839,11 @@ "description": "Additional representations for this concept when used in this value set – other languages, aliases, specialized purposes, used for particular purposes, etc." } } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "ValueSet_Compose_Include_Concept_Designation": { @@ -134868,11 +134868,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The text value for this designation." } - } + }, + "required": [ + "value" + ] } - ], - "required": [ - "value" ] }, "ValueSet_Compose_Include_Filter": { @@ -134908,13 +134908,13 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'." } - } + }, + "required": [ + "property", + "op", + "value" + ] } - ], - "required": [ - "property", - "op", - "value" ] }, "ValueSet_Expansion": { @@ -134959,11 +134959,11 @@ "description": "The codes that are contained in the value set expansion." } } - } + }, + "required": [ + "timestamp" + ] } - ], - "required": [ - "timestamp" ] }, "ValueSet_Expansion_Contains": { @@ -135066,11 +135066,11 @@ "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?", "description": "The value of the parameter." } - } + }, + "required": [ + "name" + ] } - ], - "required": [ - "name" ] }, "VerificationResult": { @@ -135164,12 +135164,12 @@ "description": "Information about the entity validating information." } } - } + }, + "required": [ + "status" + ] } ], - "required": [ - "status" - ], "example": { "resourceType": "VerificationResult", "meta": { @@ -135852,11 +135852,11 @@ "$ref": "#/components/schemas/Signature", "description": "Signed assertion by the validator that they have validated the information." } - } + }, + "required": [ + "organization" + ] } - ], - "required": [ - "organization" ] }, "VisionPrescription": { @@ -135913,17 +135913,17 @@ "description": "Contain the details of the individual lens specifications and serves as the authorization for the fullfillment by certified professionals." } } - } + }, + "required": [ + "status", + "created", + "patient", + "dateWritten", + "prescriber", + "lensSpecification" + ] } ], - "required": [ - "status", - "created", - "patient", - "dateWritten", - "prescriber", - "lensSpecification" - ], "example": { "resourceType": "VisionPrescription", "meta": { @@ -136214,12 +136214,12 @@ "description": "Notes for special requirements such as coatings and lens materials." } } - } + }, + "required": [ + "product", + "eye" + ] } - ], - "required": [ - "product", - "eye" ] }, "VisionPrescription_LensSpecification_Prism": { @@ -136244,12 +136244,12 @@ ], "description": "The relative base, or reference lens edge, for the prism." } - } + }, + "required": [ + "amount", + "base" + ] } - ], - "required": [ - "amount", - "base" ] }, "Resource": { @@ -136525,12 +136525,12 @@ "$ref": "#/components/schemas/Signature", "description": "Digital Signature – base64 encoded. XML–DSig or a JWT." } - } + }, + "required": [ + "type" + ] } ], - "required": [ - "type" - ], "example": { "resourceType": "Bundle", "meta": { @@ -136710,12 +136710,12 @@ "pattern": "\\S*", "description": "The reference details for the link." } - } + }, + "required": [ + "relation", + "url" + ] } - ], - "required": [ - "relation", - "url" ] }, "Bundle_Entry": { @@ -136803,12 +136803,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for [\"Conditional Create\"](http.html#ccreate). This is just the query portion of the URL – what follows the \"?\" (not including the \"?\")." } - } + }, + "required": [ + "method", + "url" + ] } - ], - "required": [ - "method", - "url" ] }, "Bundle_Entry_Response": { @@ -136843,11 +136843,11 @@ "$ref": "#/components/schemas/Resource", "description": "An OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction." } - } + }, + "required": [ + "status" + ] } - ], - "required": [ - "status" ] }, "Bundle_Entry_Search": { @@ -136887,14 +136887,14 @@ "type": "array", "items": { "$ref": "#/components/schemas/Extension", - "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "example": [ - { - "url": "http://example.com", - "valueString": "text value" - } - ] - } + "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." + }, + "example": [ + { + "url": "http://example.com", + "valueString": "text value" + } + ] } } }, @@ -137030,11 +137030,11 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "The text of the annotation in markdown format." } - } + }, + "required": [ + "text" + ] } - ], - "required": [ - "text" ] }, "Attachment": { @@ -137553,13 +137553,13 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A series of data points which are decimal values separated by a single space (character u20). The special values \"E\" (error), \"L\" (below detection limit) and \"U\" (above detection limit) can also be used in place of a decimal value." } - } + }, + "required": [ + "origin", + "period", + "dimensions" + ] } - ], - "required": [ - "origin", - "period", - "dimensions" ] }, "SimpleQuantity": { @@ -137617,13 +137617,13 @@ "pattern": "(\\s*([0-9a-zA-Z\\+\\=]){4}\\s*)+", "description": "The base64 encoding of the Signature content. When signature is not recorded electronically this element would be empty." } - } + }, + "required": [ + "type", + "when", + "who" + ] } - ], - "required": [ - "type", - "when", - "who" ] }, "Timing": { @@ -137879,11 +137879,11 @@ "pattern": "\\S*", "description": "The related resource, such as a library, value set, profile, or other knowledge resource." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "UsageContext": { @@ -137914,11 +137914,11 @@ "$ref": "#/components/schemas/Reference", "description": "A value that defines the context specified in this context of use. The interpretation of the value is defined by the code." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "Meta": { @@ -137992,12 +137992,12 @@ "type": "string", "description": "The actual narrative content, a stripped down version of XHTML." } - } + }, + "required": [ + "status", + "div" + ] } - ], - "required": [ - "status", - "div" ] }, "Extension": { @@ -138206,11 +138206,11 @@ "$ref": "#/components/schemas/Meta", "description": "Value of extension – must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list)." } - } + }, + "required": [ + "url" + ] } - ], - "required": [ - "url" ] }, "Expression": { @@ -138246,11 +138246,11 @@ "pattern": "\\S*", "description": "A URI that defines where the expression is found." } - } + }, + "required": [ + "language" + ] } - ], - "required": [ - "language" ] }, "ParameterDefinition": { @@ -138513,12 +138513,12 @@ "pattern": "\\S*", "description": "If specified, this indicates a profile that the input data must conform to, or that the output data will conform to." } - } + }, + "required": [ + "use", + "type" + ] } - ], - "required": [ - "use", - "type" ] }, "Dosage": { @@ -138663,13 +138663,13 @@ "pattern": "([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?", "description": "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain." } - } + }, + "required": [ + "country", + "status", + "dateRange" + ] } - ], - "required": [ - "country", - "status", - "dateRange" ] }, "ProductShelfLife": { @@ -138699,12 +138699,12 @@ "description": "Special precautions for storage, if any, can be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified." } } - } + }, + "required": [ + "type", + "period" + ] } - ], - "required": [ - "type", - "period" ] }, "ProdCharacteristic": { @@ -138831,11 +138831,11 @@ "$ref": "#/components/schemas/Expression", "description": "A boolean–valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires." } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "DataRequirement": { @@ -139115,11 +139115,11 @@ "description": "Specifies the order of the results to be returned." } } - } + }, + "required": [ + "type" + ] } - ], - "required": [ - "type" ] }, "DataRequirement_CodeFilter": { @@ -139212,12 +139212,12 @@ ], "description": "The direction of the sort, ascending or descending." } - } + }, + "required": [ + "path", + "direction" + ] } - ], - "required": [ - "path", - "direction" ] }, "Population": { @@ -140088,11 +140088,11 @@ "description": "Identifies a concept from an external specification that roughly corresponds to this element." } } - } + }, + "required": [ + "path" + ] } - ], - "required": [ - "path" ] }, "ElementDefinition_Base": { @@ -140118,13 +140118,13 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Maximum cardinality of the base element identified by the path." } - } + }, + "required": [ + "path", + "min", + "max" + ] } - ], - "required": [ - "path", - "min", - "max" ] }, "ElementDefinition_Binding": { @@ -140155,11 +140155,11 @@ "pattern": "\\S*", "description": "Refers to the value set that identifies the set of codes the binding refers to." } - } + }, + "required": [ + "strength" + ] } - ], - "required": [ - "strength" ] }, "ElementDefinition_Constraint": { @@ -140208,13 +140208,13 @@ "pattern": "\\S*", "description": "A reference to the original source of the constraint, for traceability purposes." } - } + }, + "required": [ + "key", + "severity", + "human" + ] } - ], - "required": [ - "key", - "severity", - "human" ] }, "ElementDefinition_Example": { @@ -140423,11 +140423,11 @@ "$ref": "#/components/schemas/Meta", "description": "The actual value for the element, which must be one of the types allowed for this element." } - } + }, + "required": [ + "label" + ] } - ], - "required": [ - "label" ] }, "ElementDefinition_Mapping": { @@ -140458,12 +140458,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "Comments that provide information about the mapping or its use." } - } + }, + "required": [ + "identity", + "map" + ] } - ], - "required": [ - "identity", - "map" ] }, "ElementDefinition_Slicing": { @@ -140499,11 +140499,11 @@ ], "description": "Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end." } - } + }, + "required": [ + "rules" + ] } - ], - "required": [ - "rules" ] }, "ElementDefinition_Slicing_Discriminator": { @@ -140530,12 +140530,12 @@ "pattern": "[ \\r\\n\\t\\S]+", "description": "A FHIRPath expression, using [the simple subset of FHIRPath](fhirpath.html#simple), that is used to identify the element on which discrimination is based." } - } + }, + "required": [ + "type", + "path" + ] } - ], - "required": [ - "type", - "path" ] }, "ElementDefinition_Type": { @@ -140588,11 +140588,11 @@ ], "description": "Whether this reference needs to be version specific or version independent, or whether either can be used." } - } + }, + "required": [ + "code" + ] } - ], - "required": [ - "code" ] }, "Contributor": { @@ -140625,12 +140625,12 @@ "description": "Contact details to assist a user in finding and communicating with the contributor." } } - } + }, + "required": [ + "type", + "name" + ] } - ], - "required": [ - "type", - "name" ] }, "SubstanceAmount": { diff --git a/fhir-parent/pom.xml b/fhir-parent/pom.xml index f3e07be67e7..c19d52a09c0 100644 --- a/fhir-parent/pom.xml +++ b/fhir-parent/pom.xml @@ -41,6 +41,7 @@ ../fhir-audit ../fhir-model ../fhir-registry + ../fhir-term ../fhir-path ../fhir-profile ../fhir-validation @@ -297,6 +298,12 @@ jakarta.inject-api 1.0 + + jakarta.enterprise + jakarta.enterprise.cdi-api + 2.0.2 + provided + com.ibm.cos ibm-cos-java-sdk diff --git a/fhir-path/src/main/java/com/ibm/fhir/path/FHIRPathNumberValue.java b/fhir-path/src/main/java/com/ibm/fhir/path/FHIRPathNumberValue.java index 75b996d9273..fc3e0abbb38 100644 --- a/fhir-path/src/main/java/com/ibm/fhir/path/FHIRPathNumberValue.java +++ b/fhir-path/src/main/java/com/ibm/fhir/path/FHIRPathNumberValue.java @@ -9,53 +9,53 @@ import java.math.BigDecimal; /** - * An interface that represents a {@link FHIRPathSystemValue} that a number value + * An interface that represents a {@link FHIRPathSystemValue} that wraps a number value */ public interface FHIRPathNumberValue extends FHIRPathSystemValue { @Override default boolean isNumberValue() { return true; } - + /** * Indicates whether this FHIRPathNumberValue is a {@link FHIRPathDecimalValue} - * + * * @return * true if this FHIRPathNumberValue is a {@link FHIRPathDecimalValue} */ default boolean isDecimalValue() { return false; } - + /** * Indicates whether this FHIRPathNumberValue is a {@link FHIRPathIntegerValue} - * + * * @return * true if this FHIRPathNumberValue is a {@link FHIRPathIntegerValue} */ default boolean isIntegerValue() { return false; } - + /** * The {@link BigDecimal} value wrapped by this FHIRPathNumberValue - * + * * @return * the {@link BigDecimal} value wrapped by this FHIRPathNumberValue */ BigDecimal decimal(); - + /** * The {@link Integer} value wrapped by this FHIRPathNumberValue - * + * * @return * the {@link Integer} value wrapped by this FHIRPathNumberValue */ Integer integer(); - + /** * Cast this FHIRPathNumberValue to a {@link FHIRPathDecimalValue} - * + * * @return * this FHIRPathNumberValue as a {@link FHIRPathDecimalValue} * @throws @@ -64,10 +64,10 @@ default boolean isIntegerValue() { default FHIRPathDecimalValue asDecimalValue() { return as(FHIRPathDecimalValue.class); } - + /** * Cast this FHIRPathNumberValue to a {@link FHIRPathIntegerValue} - * + * * @return * this FHIRPathNumberValue as a {@link FHIRPathIntegerValue} * @throws @@ -76,10 +76,10 @@ default FHIRPathDecimalValue asDecimalValue() { default FHIRPathIntegerValue asIntegerValue() { return as(FHIRPathIntegerValue.class); } - + /** * The {@link Number} value wrapped by this FHIRPathNumberValue - * + * * @return * the {@link Number} value wrapped by this FHIRPathNumberValue */ @@ -89,86 +89,86 @@ default Number number() { } return asIntegerValue().integer(); } - + /** * Add this FHIRPathNumberValue to another FHIRPathNumber value - * + * * @param value * the other FHIRPathNumber value * @return * the result of adding this FHIRPathNumberValue to another FHIRPathNumberValue */ FHIRPathNumberValue add(FHIRPathNumberValue value); - + /** * Subtract another FHIRPathNumberValue from this FHIRPathNumberValue - * + * * @param value * the other FHIRPathNumberValue * @return * the result of subtracting another FHIRPathNumberValue from this FHIRPathNumberValue */ FHIRPathNumberValue subtract(FHIRPathNumberValue value); - + /** * Multiply this FHIRPathNumberValue by another FHIRPathNumberValue - * + * * @param value * the other FHIRPathNumberValue * @return * the result of multiplying this FHIRPathNumberValue by another FHIRPathNumberValue */ FHIRPathNumberValue multiply(FHIRPathNumberValue value); - + /** * Divide this FHIRPathNumberValue by another FHIRPathNumberValue - * + * * @param value * the other FHIRPathNumberValue * @return * the result of dividing this FHIRPathNumberValue by another FHIRPathNumberValue */ FHIRPathNumberValue divide(FHIRPathNumberValue value); - + /** * Divide this FHIRPathNumberValue by another FHIRPathNumberValue and convert the result to an integer - * + * * @param value * the other FHIRPathNumberValue * @return * the result of dividing this FHIRPathNumberValue by another FHIRPathNumberValue and converting the result to an integer */ FHIRPathNumberValue div(FHIRPathNumberValue value); - + /** * Compute the remainder resulting from the integer division of this FHIRPathNumberValue by another FHIRPathNumberValue - * + * * @param value * the other FHIRPathNumberValue * @return * the integer remainder resulting from the division of this FHIRPathNumberValue by another FHIRPathNumberValue */ FHIRPathNumberValue mod(FHIRPathNumberValue value); - + /** * Negate this FHIRPathNumberValue - * + * * @return * the result of negating this FHIRPathNumber */ FHIRPathNumberValue negate(); - + /** * The inverse of negate (for symmetry) - * + * * @return * this FHIRPathNumberValue */ FHIRPathNumberValue plus(); - + /** * Indicates whether this FHIRPathNumberValue is comparable to the parameter - * + * * @return * true if the parameter or its primitive value is a FHIRPathNumberValue, {@link FHIRPathQuantityNode} or {@link FHIRPathQuantityValue} otherwise false */ @@ -178,14 +178,14 @@ default boolean isComparableTo(FHIRPathNode other) { FHIRPathQuantityNode quantityNode = (FHIRPathQuantityNode) other; return quantityNode.hasValue() || quantityNode.getQuantityValue() != null; } - return other instanceof FHIRPathQuantityValue || - other instanceof FHIRPathNumberValue || + return other instanceof FHIRPathQuantityValue || + other instanceof FHIRPathNumberValue || other.getValue() instanceof FHIRPathNumberValue; } - + /** * Compare the number value wrapped by this FHIRPathNumberValue node to the parameter - * + * * @param other * the other {@link FHIRPathNode} * @return diff --git a/fhir-path/src/main/java/com/ibm/fhir/path/function/MemberOfFunction.java b/fhir-path/src/main/java/com/ibm/fhir/path/function/MemberOfFunction.java index 3ebee95f6e4..daccea1ef7d 100644 --- a/fhir-path/src/main/java/com/ibm/fhir/path/function/MemberOfFunction.java +++ b/fhir-path/src/main/java/com/ibm/fhir/path/function/MemberOfFunction.java @@ -6,7 +6,6 @@ package com.ibm.fhir.path.function; -import static com.ibm.fhir.core.util.LRUCache.createLRUCache; import static com.ibm.fhir.model.util.ModelSupport.FHIR_STRING; import static com.ibm.fhir.path.evaluator.FHIRPathEvaluator.SINGLETON_FALSE; import static com.ibm.fhir.path.evaluator.FHIRPathEvaluator.SINGLETON_TRUE; @@ -17,24 +16,13 @@ import static com.ibm.fhir.path.util.FHIRPathUtil.isStringElementNode; import static com.ibm.fhir.path.util.FHIRPathUtil.isStringValue; import static com.ibm.fhir.path.util.FHIRPathUtil.isUriElementNode; -import static com.ibm.fhir.profile.ValueSetSupport.expand; -import static com.ibm.fhir.profile.ValueSetSupport.getContains; -import static com.ibm.fhir.profile.ValueSetSupport.getValueSet; +import static com.ibm.fhir.term.util.ValueSetSupport.getValueSet; +import static com.ibm.fhir.term.util.ValueSetSupport.isExpanded; import java.util.Collection; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; -import com.ibm.fhir.model.resource.CodeSystem; import com.ibm.fhir.model.resource.ValueSet; -import com.ibm.fhir.model.resource.ValueSet.Expansion; -import com.ibm.fhir.model.resource.ValueSet.Expansion.Contains; import com.ibm.fhir.model.type.Code; import com.ibm.fhir.model.type.CodeableConcept; import com.ibm.fhir.model.type.Coding; @@ -47,19 +35,15 @@ import com.ibm.fhir.path.FHIRPathType; import com.ibm.fhir.path.evaluator.FHIRPathEvaluator.EvaluationContext; import com.ibm.fhir.registry.FHIRRegistry; +import com.ibm.fhir.term.service.FHIRTermService; /** - * Implementation of the 'memberOf' FHIRPath function per: http://hl7.org/fhir/fhirpath.html#functions + * Implementation of the 'memberOf' FHIRPath function per: http://hl7.org/fhir/fhirpath.html#functions * *

This implementation supports an optional second argument (binding strength). The binding strength * is used to determine whether or not to add a warning to the evaluation context if the membership check fails. */ public class MemberOfFunction extends FHIRPathAbstractFunction { - private static final Logger log = Logger.getLogger(MemberOfFunction.class.getName()); - - private static final String VERSION_UNKNOWN = ""; - private static final Map>> CODE_SET_MAP_CACHE = createLRUCache(1024); - @Override public String getName() { return "memberOf"; @@ -99,31 +83,24 @@ public Collection apply(EvaluationContext evaluationContext, Colle String strength = (arguments.size() == 2) ? getString(arguments.get(1)) : null; if (FHIRRegistry.getInstance().hasResource(url, ValueSet.class)) { - Map> codeSetMap = getCodeSetMap(url); - if (!codeSetMap.isEmpty()) { + ValueSet valueSet = getValueSet(url); + FHIRTermService service = FHIRTermService.getInstance(); + if (isExpanded(valueSet) || service.isExpandable(valueSet)) { if (element.is(Code.class)) { - String system = getSystem(evaluationContext.getTree().getParent(elementNode)); - String version = FHIRRegistry.getInstance().getLatestVersion(system, CodeSystem.class); - String code = element.as(Code.class).getValue(); - if (contains(codeSetMap, system, version, code)) { + if (service.validateCode(valueSet, getSystem(evaluationContext.getTree().getParent(elementNode)), null, element.as(Code.class).getValue())) { return SINGLETON_TRUE; } } else if (element.is(Coding.class)) { - Coding coding = element.as(Coding.class); - if (contains(codeSetMap, coding)) { + if (service.validateCode(valueSet, element.as(Coding.class))) { return SINGLETON_TRUE; } } else if (element.is(CodeableConcept.class)) { - CodeableConcept codeableConcept = element.as(CodeableConcept.class); - for (Coding coding : codeableConcept.getCoding()) { - if (contains(codeSetMap, coding)) { - return SINGLETON_TRUE; - } + if (service.validateCode(valueSet, element.as(CodeableConcept.class))) { + return SINGLETON_TRUE; } } else { // element.is(FHIR_STRING) || element.is(Uri.class) - String value = element.is(FHIR_STRING) ? element.as(FHIR_STRING).getValue() : element.as(Uri.class).getValue(); - if (contains(codeSetMap, null, null, value)) { + if (service.validateCode(valueSet, null, null, element.is(FHIR_STRING) ? element.as(FHIR_STRING).getValue() : element.as(Uri.class).getValue())) { return SINGLETON_TRUE; } } @@ -148,63 +125,6 @@ private Collection membershipCheckFailed(EvaluationContext evaluat return SINGLETON_FALSE; } - private boolean contains(Map> codeSetMap, Coding coding) { - String system = (coding.getSystem() != null) ? coding.getSystem().getValue() : null; - String version = (coding.getVersion() != null) ? coding.getVersion().getValue() : FHIRRegistry.getInstance().getLatestVersion(system, CodeSystem.class); - String code = (coding.getCode() != null) ? coding.getCode().getValue() : null; - return contains(codeSetMap, system, version, code); - } - - /** - * Determine whether the provided code is in the codeSet associated with the provided system and version. - * - *

If the system and version are non-null, then they are concatenated to form a key into the codeSetMap. If - * not found, then the system is concatenated with the "VERSION_UNKNOWN" constant (in cases where the expanded - * value set did not have a version available during the expansion). If only the system is non-null, then the - * codeSetMap keys are checked for startsWith(system). Finally, if both system and version are null, map keys - * are ignored and the values of the map are checked directly. - * - * @param codeSetMap - * the code set map - * @param system - * the system of the focal coded element (can be null) - * @param version - * the version of the focal coded element (can be null) - * @param code - * the code used in the membership check - * @return - * true if a codeSet is found and the provided code is a member of that codeSet, false otherwise - */ - private boolean contains(Map> codeSetMap, String system, String version, String code) { - if (system != null && version != null) { - Set codeSet = codeSetMap.get(system + "|" + version); - if (codeSet != null) { - if (codeSet.contains(code)) { - return true; - } else { - codeSet = codeSetMap.get(system + "|" + VERSION_UNKNOWN); - if (codeSet != null) { - return codeSet.contains(code); - } - } - } - } else if (system != null) { - String prefix = system + "|"; - for (String key : codeSetMap.keySet()) { - if (key.startsWith(prefix)) { - return codeSetMap.get(key).contains(code); - } - } - } else { - for (Set codeSet : codeSetMap.values()) { - if (codeSet.contains(code)) { - return true; - } - } - } - return false; - } - /** * Get a URI-typed child node of the input parameter with name "system". * @@ -224,33 +144,4 @@ private String getSystem(FHIRPathNode node) { } return null; } - - private Map> getCodeSetMap(String url) { - return CODE_SET_MAP_CACHE.computeIfAbsent(url, k -> computeCodeSetMap(getValueSet(url))); - } - - private Map> computeCodeSetMap(ValueSet valueSet) { - try { - ValueSet expanded = expand(valueSet); - if (expanded == null || expanded.getExpansion() == null) { - return Collections.emptyMap(); - } - Map> codeSetMap = new LinkedHashMap<>(); - Expansion expansion = expanded.getExpansion(); - for (Contains contains : getContains(expansion)) { - String system = (contains.getSystem() != null) ? contains.getSystem().getValue() : null; - String version = (contains.getVersion() != null && contains.getVersion().getValue() != null) ? contains.getVersion().getValue() : VERSION_UNKNOWN; - String code = (contains.getCode() != null) ? contains.getCode().getValue() : null; - if (system != null && code != null) { - codeSetMap.computeIfAbsent(system + "|" + version, k -> new LinkedHashSet<>()).add(code); - } - } - return codeSetMap; - } catch (Exception e) { - String url = (valueSet.getUrl() != null) ? valueSet.getUrl().getValue() : ""; - String version = (valueSet.getVersion() != null) ? valueSet.getVersion().getValue() : ""; - log.log(Level.WARNING, String.format("Unable to expand value set with url: %s and version: %s", url, version), e); - } - return Collections.emptyMap(); - } } diff --git a/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/util/DerbyBootstrapper.java b/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/util/DerbyBootstrapper.java index d46b4d12468..553b8fc7ebe 100644 --- a/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/util/DerbyBootstrapper.java +++ b/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/util/DerbyBootstrapper.java @@ -7,12 +7,18 @@ package com.ibm.fhir.persistence.jdbc.util; import java.sql.Connection; +import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger; import javax.sql.DataSource; +import static com.ibm.fhir.schema.control.JavaBatchSchemaGenerator.BATCH_SCHEMANAME; +import static com.ibm.fhir.schema.control.OAuthSchemaGenerator.OAUTH_SCHEMANAME; +import static com.ibm.fhir.schema.app.Main.ADMIN_SCHEMANAME; + import com.ibm.fhir.config.FHIRRequestContext; import com.ibm.fhir.database.utils.api.IDatabaseAdapter; import com.ibm.fhir.database.utils.common.JdbcTarget; @@ -24,6 +30,7 @@ import com.ibm.fhir.database.utils.version.CreateVersionHistory; import com.ibm.fhir.database.utils.version.VersionHistoryService; import com.ibm.fhir.schema.control.FhirSchemaGenerator; +import com.ibm.fhir.schema.control.JavaBatchSchemaGenerator; import com.ibm.fhir.schema.control.OAuthSchemaGenerator; import com.ibm.fhir.schema.control.PopulateParameterNames; import com.ibm.fhir.schema.control.PopulateResourceTypes; @@ -35,9 +42,6 @@ public class DerbyBootstrapper { private static final Logger log = Logger.getLogger(DerbyBootstrapper.class.getName()); private static final String className = DerbyBootstrapper.class.getName(); - private static final String ADMIN_SCHEMANAME = "FHIR_ADMIN"; - private static final String OAUTH_SCHEMANAME = "FHIR_OAUTH"; - /** * Bootstraps the FHIR database (only for Derby databases) * Note: Since v4.0.0, the schema is generated and applied using fhir-persistence-schema, not liquibase @@ -111,7 +115,7 @@ public static void bootstrap(Connection connection, String adminSchemaName, Stri // Current version history for the database. This is used by applyWithHistory // to determine which updates to apply and to record the new changes as they // are applied - VersionHistoryService vhs = new VersionHistoryService(adminSchemaName, dataSchemaName, OAUTH_SCHEMANAME); + VersionHistoryService vhs = new VersionHistoryService(adminSchemaName, dataSchemaName, OAUTH_SCHEMANAME, BATCH_SCHEMANAME); vhs.setTarget(adapter); vhs.init(); @@ -172,7 +176,7 @@ public static void bootstrapOauthDb(DataSource ds) throws Exception { // to determine which updates to apply and to record the new changes as they // are applied VersionHistoryService vhs = - new VersionHistoryService(ADMIN_SCHEMANAME, OAUTH_SCHEMANAME, OAUTH_SCHEMANAME); + new VersionHistoryService(ADMIN_SCHEMANAME, OAUTH_SCHEMANAME); vhs.setTarget(adapter); vhs.init(); @@ -188,4 +192,56 @@ public static void bootstrapOauthDb(DataSource ds) throws Exception { } } } -} + + /** + * bootstraps the batch database for derby. + * @param ds + * @throws SQLException + */ + public static void bootstrapBatchDb(DataSource ds) throws SQLException { + // This is specific to boostrapping where we are not suppose to use the derby db, rather a remote db. + boolean isDerby = false; + try (Connection c = ds.getConnection()) { + try (Statement stmt = c.createStatement(); + ResultSet rs = stmt.executeQuery("VALUES SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.defaultConnectionMode')");) { + isDerby = rs.next(); + if (log.isLoggable(Level.FINE)) { + log.fine(" The results are " + rs.getString(1)); + } + } + } catch (java.sql.SQLNonTransientException e) { + log.fine("Error while checking db that isn't connected, this is expected when not derby" + e.getMessage()); + } catch (Exception e) { + log.fine("Error while checking db, this is expected" + e.getMessage()); + } + + if (isDerby) { + try (Connection c = ds.getConnection()) { + try { + JdbcTarget target = new JdbcTarget(c); + IDatabaseAdapter adapter = new DerbyAdapter(target); + + // Set up the version history service first if it doesn't yet exist + CreateVersionHistory.createTableIfNeeded(ADMIN_SCHEMANAME, adapter); + + // Current version history for the database. This is used by applyWithHistory + // to determine which updates to apply and to record the new changes as they + // are applied + VersionHistoryService vhs = new VersionHistoryService(ADMIN_SCHEMANAME, BATCH_SCHEMANAME); + vhs.setTarget(adapter); + vhs.init(); + + // Build/update the Liberty OAuth-related tables + PhysicalDataModel pdm = new PhysicalDataModel(); + JavaBatchSchemaGenerator javaBatchSchemaGenerator = new JavaBatchSchemaGenerator(BATCH_SCHEMANAME); + javaBatchSchemaGenerator.buildJavaBatchSchema(pdm); + pdm.applyWithHistory(adapter, vhs); + c.commit(); + } catch (Exception x) { + c.rollback(); + throw x; + } + } + } + } +} \ No newline at end of file diff --git a/fhir-persistence-schema/docs/tests/Db2.md b/fhir-persistence-schema/docs/tests/Db2.md new file mode 100644 index 00000000000..000b4c25304 --- /dev/null +++ b/fhir-persistence-schema/docs/tests/Db2.md @@ -0,0 +1,224 @@ +For db2 +# Prerequisites +Drop the db, and recreate. + +db2 terminate +db2 drop db fhirdb +db2 CREATE DB FHIRDB using codeset UTF-8 territory us PAGESIZE 32768 + +# Test 1 - Existing --create-schemas +--create-schemas +--prop-file fhir-persistence-schema/db2.properties + +[db2inst1@4dda34a66a99 ~]$ db2 select schemaname from syscat.schemata +SCHEMANAME +------------- +FHIRDATA +FHIR_ADMIN +FHIR_JBATCH +FHIR_OAUTH + +# Test 2 -- new --create-schema-fhir (mixed) +--prop-file fhir-persistence-schema/db2.properties +--create-schemas +--create-schema-batch fhir_batch1 +--create-schema-fhir fhirdata1 +--create-schema-oauth fhir_oauth1 + +[db2inst1@4dda34a66a99 ~]$ db2 select schemaname from syscat.schemata +SCHEMANAME +--------------- +FHIRDATA +FHIRDATA1 +FHIR_ADMIN +FHIR_BATCH1 +FHIR_JBATCH +FHIR_OAUTH +FHIR_OAUTH1 + +# Test 3 -- new --create-schema-fhir - single schema +--prop-file fhir-persistence-schema/db2.properties +--create-schema-batch fhir_batch1 + +[db2inst1@4dda34a66a99 ~]$ db2 select schemaname from syscat.schemata +SCHEMANAME +--------------- +FHIRDATA +FHIRDATA1 +FHIRDATA2 +FHIR_ADMIN +FHIR_BATCH1 +FHIR_BATCH2 +FHIR_JBATCH +FHIR_OAUTH +FHIR_OAUTH1 +FHIR_OAUTH2 + +# Test 4 - Existing Update Schema +--prop-file fhir-persistence-schema/db2.properties +--update-schema +--schema-name fhirdata +db2 "SELECT COUNT(*) FROM FHIR_ADMIN.VERSION_HISTORY" +1 +----------- + 1385 + +[db2inst1@4dda34a66a99 ~]$ db2 "SELECT COUNT(*) FROM FHIR_ADMIN.VERSION_HISTORY WHERE SCHEMA_NAME = 'FHIR_OAUTH'" +1 +----------- + 3 + 1 record(s) selected. + +[db2inst1@4dda34a66a99 ~]$ db2 "SELECT COUNT(*) FROM FHIR_ADMIN.VERSION_HISTORY WHERE SCHEMA_NAME = 'FHIR_JBATCH'" +1 +----------- + 7 + + 1 record(s) selected. + +# Test 5 -- Check-Compatibility +--prop-file fhir-persistence-schema/db2.properties +--check-compatibility + +2020-05-20 12:05:40.568 00000001 INFO .common.JdbcConnectionProvider Opening connection to database: jdbc:db2://localhost:50000/FHIRDB +2020-05-20 12:05:41.260 00000001 INFO com.ibm.fhir.schema.app.Main Processing took: 0.748 s +2020-05-20 12:05:41.261 00000001 INFO com.ibm.fhir.schema.app.Main SCHEMA CHANGE: OK + +# Test 6 - Existing Update Schema - fhir data +--prop-file fhir-persistence-schema/db2.properties +--update-schema-fhir fhir_fudge +[db2inst1@4dda34a66a99 ~]$ db2 "SELECT COUNT(*) FROM FHIR_ADMIN.VERSION_HISTORY WHERE SCHEMA_NAME = 'fhir_fudge'" +1 +----------- + 1351 + 1 record(s) selected. + +# Test 6 - Existing Update Schema Batch +--prop-file fhir-persistence-schema/db2.properties +--update-schema-batch fhir_fudge_batch +2020-05-20 12:18:34.108 00000001 INFO .common.JdbcConnectionProvider Opening connection to database: jdbc:db2://localhost:50000/FHIRDB +2020-05-20 12:18:34.786 00000001 INFO com.ibm.fhir.schema.app.Main Collecting model update tasks +2020-05-20 12:18:34.790 00000001 INFO com.ibm.fhir.schema.app.Main Starting model updates +2020-05-20 12:18:35.253 0000000c INFO hir.task.core.impl.TaskManager Task complete callback for taskId: TABLE:fhir_fudge_batch.JOBINSTANCE +2020-05-20 12:18:35.721 0000000c INFO hir.task.core.impl.TaskManager Task complete callback for taskId: TABLE:fhir_fudge_batch.GROUPASSOCIATION +2020-05-20 12:18:35.950 0000000c INFO hir.task.core.impl.TaskManager Task complete callback for taskId: TABLE:fhir_fudge_batch.JOBEXECUTION +2020-05-20 12:18:36.230 0000000c INFO hir.task.core.impl.TaskManager Task complete callback for taskId: TABLE:fhir_fudge_batch.STEPTHREADEXECUTION +2020-05-20 12:18:36.346 0000000c INFO hir.task.core.impl.TaskManager Task complete callback for taskId: TABLE:fhir_fudge_batch.JOBPARAMETER +2020-05-20 12:18:36.601 0000000c INFO hir.task.core.impl.TaskManager Task complete callback for taskId: TABLE:fhir_fudge_batch.STEPTHREADINSTANCE +2020-05-20 12:18:36.873 0000000c INFO hir.task.core.impl.TaskManager Task complete callback for taskId: TABLE:fhir_fudge_batch.REMOTABLEPARTITION_TABLE +2020-05-20 12:18:36.875 00000001 INFO com.ibm.fhir.schema.app.Main Processing took: 2.856 s +2020-05-20 12:18:36.875 00000001 INFO com.ibm.fhir.schema.app.Main SCHEMA CHANGE: OK + +db2 -x "SELECT COUNT(*) FROM FHIR_ADMIN.VERSION_HISTORY WHERE SCHEMA_NAME = 'fhir_fudge_batch'" + 7 + +# Test 7 - Existing Update Schema OAuth +--prop-file fhir-persistence-schema/db2.properties +--update-schema-oauth fhir_fudge_oauth + db2 -x "SELECT COUNT(*) FROM FHIR_ADMIN.VERSION_HISTORY WHERE SCHEMA_NAME = 'fhir_fudge_oauth'" + 3 + +# Test 8 - Existing Update Schema OAuth +--prop-file fhir-persistence-schema/db2.properties +--update-schema-fhir fhir_fudge_fhir +db2 -x "SELECT COUNT(*) FROM FHIR_ADMIN.VERSION_HISTORY WHERE SCHEMA_NAME = 'fhir_fudge_fhir'" + 1351 + +# Test 9 - Grant To fhirdata - FHIR +--prop-file fhir-persistence-schema/db2.properties +--grant-to fhirserver +--target DATA fhir_fudge_fhir + +[db2inst1@4dda34a66a99 ~]$ db2 "SELECT DISTINCT GRANTOR,CONTROLAUTH, ALTERAUTH, DELETEAUTH, INDEXAUTH, INSERTAUTH, REFAUTH, SELECTAUTH, UPDATEAUTH FROM SYSCAT.TABAUTH WHERE TABSCHEMA = 'FHIRDATA'" + +GRANTOR CONTROLAUTH ALTERAUTH DELETEAUTH INDEXAUTH INSERTAUTH REFAUTH SELECTAUTH UPDATEAUTH +-------------------------------------------------------------------------------------------------------------------------------- ----------- --------- ---------- --------- ---------- ------- ---------- ---------- +SYSIBM Y G G G G G G G +DB2INST1 N N Y N Y N Y Y + + 2 record(s) selected. + +# Test 10 - Grant To OAUTH - FHIR +--prop-file fhir-persistence-schema/db2.properties +--grant-to fhirserver +--target OAUTH FHIR_OAUTH + +2020-05-20 13:07:43.917 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_OAUTH.OAUTH20CACHE TO FHIRSERVER +2020-05-20 13:07:43.978 00000001 INFO .common.JdbcConnectionProvider Opening connection to database: jdbc:db2://localhost:50000/FHIRDB +2020-05-20 13:07:45.054 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_OAUTH.OAUTH20CLIENTCONFIG TO FHIRSERVER +2020-05-20 13:07:45.087 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_OAUTH.OAUTH20CONSENTCACHE TO FHIRSERVER +2020-05-20 13:07:45.135 00000001 INFO com.ibm.fhir.schema.app.Main Processing took: 1.404 s +2020-05-20 13:07:45.136 00000001 INFO com.ibm.fhir.schema.app.Main SCHEMA CHANGE: OK + + db2 "SELECT DISTINCT GRANTOR,CONTROLAUTH, ALTERAUTH, DELETEAUTH, INDEXAUTH, INSERTAUTH, REFAUTH, SELECTAUTH, UPDATEAUTH FROM SYSCAT.TABAUTH WHERE TABSCHEMA = 'FHIR_OAUTH'" + +GRANTOR CONTROLAUTH ALTERAUTH DELETEAUTH INDEXAUTH INSERTAUTH REFAUTH SELECTAUTH UPDATEAUTH +-------------------------------------------------------------------------------------------------------------------------------- ----------- --------- ---------- --------- ---------- ------- ---------- ---------- +SYSIBM Y G G G G G G G +DB2INST1 N N Y N Y N Y Y + + 2 record(s) selected. + + +# Test 11 - Grant To BATCH - FHIR_JBATCH +--prop-file fhir-persistence-schema/db2.properties +--grant-to fhirserver +--target BATCH FHIR_JBATCH +2020-05-20 13:09:05.052 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_JBATCH.JOBINSTANCE TO FHIRSERVER +2020-05-20 13:09:05.085 00000001 INFO .common.JdbcConnectionProvider Opening connection to database: jdbc:db2://localhost:50000/FHIRDB +2020-05-20 13:09:05.945 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_JBATCH.JOBEXECUTION TO FHIRSERVER +2020-05-20 13:09:05.960 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_JBATCH.STEPTHREADEXECUTION TO FHIRSERVER +2020-05-20 13:09:05.974 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_JBATCH.STEPTHREADINSTANCE TO FHIRSERVER +2020-05-20 13:09:05.990 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_JBATCH.REMOTABLEPARTITION_TABLE TO FHIRSERVER +2020-05-20 13:09:06.002 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_JBATCH.GROUPASSOCIATION TO FHIRSERVER +2020-05-20 13:09:06.012 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT UPDATE,DELETE,INSERT,SELECT ON FHIR_JBATCH.JOBPARAMETER TO FHIRSERVER +2020-05-20 13:09:06.038 00000001 INFO com.ibm.fhir.schema.app.Main Processing took: 1.139 s +2020-05-20 13:09:06.039 00000001 INFO com.ibm.fhir.schema.app.Main SCHEMA CHANGE: OK + + db2 "SELECT DISTINCT GRANTOR,CONTROLAUTH, ALTERAUTH, DELETEAUTH, INDEXAUTH, INSERTAUTH, REFAUTH, SELECTAUTH, UPDATEAUTH FROM SYSCAT.TABAUTH WHERE TABSCHEMA = 'FHIR_JBATCH'" + +[db2inst1@4dda34a66a99 ~]$ db2 "SELECT DISTINCT TRIM(GRANTEE || ' '), SELECTAUTH|| UPDATEAUTH||DELETEAUTH||INSERTAUTH,CONTROLAUTH||ALTERAUTH|| INDEXAUTH|| REFAUTH FROM SYSCAT.TABAUTH WHERE TABSCHEMA = 'FHIR_JBATCH'" + +1 2 3 +--------------------------------------------------------------------------------------------------------------------------------- ---- ---- +FHIRSERVER YYYY NNNN +DB2INST1 GGGG YGGG + +# Test 12 - Grant To All Default +--prop-file fhir-persistence-schema/db2.properties +--grant-to fhirserver + +db2 "SELECT DISTINCT TRIM(GRANTEE || ' '), SELECTAUTH|| UPDATEAUTH||DELETEAUTH||INSERTAUTH,CONTROLAUTH||ALTERAUTH|| INDEXAUTH|| REFAUTH FROM SYSCAT.TABAUTH WHERE TABSCHEMA IN ('FHIRDATA','FHIR_OAUTH','FHIR_JBATCH')" + +2020-05-20 13:17:32.847 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT EXECUTE ON PROCEDURE FHIRDATA.ADD_RESOURCE_TYPE TO FHIRSERVER +2020-05-20 13:17:32.858 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT EXECUTE ON PROCEDURE FHIRDATA.ADD_ANY_RESOURCE TO FHIRSERVER +2020-05-20 13:17:32.868 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_OAUTH.OAUTH20CACHE TO FHIRSERVER +2020-05-20 13:17:32.891 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_OAUTH.OAUTH20CLIENTCONFIG TO FHIRSERVER +2020-05-20 13:17:32.924 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_OAUTH.OAUTH20CONSENTCACHE TO FHIRSERVER +2020-05-20 13:17:32.943 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_JBATCH.JOBINSTANCE TO FHIRSERVER +2020-05-20 13:17:32.969 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_JBATCH.JOBEXECUTION TO FHIRSERVER +2020-05-20 13:17:32.992 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_JBATCH.STEPTHREADEXECUTION TO FHIRSERVER +2020-05-20 13:17:33.017 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_JBATCH.STEPTHREADINSTANCE TO FHIRSERVER +2020-05-20 13:17:33.046 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_JBATCH.REMOTABLEPARTITION_TABLE TO FHIRSERVER +2020-05-20 13:17:33.079 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_JBATCH.GROUPASSOCIATION TO FHIRSERVER +2020-05-20 13:17:33.105 00000001 INFO s.common.CommonDatabaseAdapter Applying: GRANT SELECT,INSERT,UPDATE,DELETE ON FHIR_JBATCH.JOBPARAMETER TO FHIRSERVER +2020-05-20 13:17:33.140 00000001 INFO com.ibm.fhir.schema.app.Main Processing took: 35.505 s +2020-05-20 13:17:33.140 00000001 INFO com.ibm.fhir.schema.app.Main SCHEMA CHANGE: OK + +[db2inst1@4dda34a66a99 ~]$ db2 "SELECT DISTINCT TRIM(GRANTEE || ' '), SELECTAUTH|| UPDATEAUTH||DELETEAUTH||INSERTAUTH,CONTROLAUTH||ALTERAUTH|| INDEXAUTH|| REFAUTH FROM SYSCAT.TABAUTH WHERE TABSCHEMA IN ('FHIRDATA','FHIR_OAUTH','FHIR_JBATCH')" +1 2 3 +--------------------------------------------------------------------------------------------------------------------------------- ---- ---- +FHIRSERVER YYYY NNNN +DB2INST1 GGGG YGGG + + 2 record(s) selected. + +# Test 13 - Allocate Tenant - FHIRDATA +--prop-file fhir-persistence-schema/db2.properties +--schema-name FHIRDATA +--allocate-tenant default +2020-05-20 13:26:22.393 00000001 INFO com.ibm.fhir.schema.app.Main tenantId [1] is being pre-populated with lookup table data. +2020-05-20 13:26:22.606 00000001 INFO com.ibm.fhir.schema.app.Main Finished prepopulating the resource type and search parameter code/name tables tables +2020-05-20 13:26:22.649 00000001 INFO com.ibm.fhir.schema.app.Main Allocated tenant: default [key=DOd7xmwhkx2FhJMyPLwaHeU8PAUWcpGj7VjYgMf2hy0=] with Id = 1 +2020-05-20 13:26:22.651 00000001 INFO com.ibm.fhir.schema.app.Main Processing took: 270.022 s +2020-05-20 13:26:22.651 00000001 INFO com.ibm.fhir.schema.app.Main SCHEMA CHANGE: OK \ No newline at end of file diff --git a/fhir-persistence-schema/docs/tests/PostgreSQL.md b/fhir-persistence-schema/docs/tests/PostgreSQL.md new file mode 100644 index 00000000000..adab9b70f52 --- /dev/null +++ b/fhir-persistence-schema/docs/tests/PostgreSQL.md @@ -0,0 +1,125 @@ +# Test 1 - Existing --create-schemas +--create-schemas +--prop-file postgresql.properties +--db-type postgresql + +555ffef73e0a:~$ psql -d fhirdb +psql (12.2) +Type "help" for help. + +fhirdb=# \dn + List of schemas + Name | Owner +-------------+---------- + fhir_admin | fhiruser + fhir_batch1 | postgres + fhir_batch2 | postgres + fhir_jbatch | postgres + fhir_oauth | fhiruser + fhir_oauth1 | postgres + fhir_oauth2 | postgres + fhirdata | fhiruser + fhirdata1 | postgres + fhirdata2 | postgres + public | postgres +(11 rows) + +fhirdb=# + +# Test 2 -- new --create-schema-fhir (mixed) +--prop-file postgresql.properties +--db-type postgresql +--create-schemas +--create-schema-batch fhir_batch1 +--create-schema-fhir fhirdata1 +--create-schema-oauth fhir_oauth1 + +# Test 3 -- new --create-schema-fhir - single schema +--prop-file postgresql.properties +--db-type postgresql +--create-schema-batch fhir_batch1 + +# Test 4 - Existing Update Schema +--prop-file postgresql.properties +--db-type postgresql +--update-schema +--schema-name fhirdata3 + +# Test 5 -- Check-Compatibility +--prop-file postgresql.properties +--db-type postgresql +--check-compatibility + +2020-05-20 15:42:38.764 00000001 INFO .common.JdbcConnectionProvider Opening connection to database: jdbc:postgresql://localhost:5432/fhirdb +2020-05-20 15:42:39.151 00000001 INFO com.ibm.fhir.schema.app.Main Processing took: 0.449 s +2020-05-20 15:42:39.152 00000001 INFO com.ibm.fhir.schema.app.Main SCHEMA CHANGE: OK + +# Test 6 - Existing Update Schema - fhir data +--prop-file postgresql.properties +--db-type postgresql +--update-schema-fhir fhir_fudge + +Run \dn on the db after + +SELECT * FROM pg_catalog.pg_tables WHERE schemaname = 'fhir_fudge'; +You'll see the tables (no batch no oauth) + +# Test 6 - Existing Update Schema Batch +--prop-file postgresql.properties +--db-type postgresql +--update-schema-batch fhir_fudge_batch + +fhirdb=# SELECT * FROM pg_catalog.pg_tables WHERE schemaname = 'fhir_fudge_batch'; + fhir_fudge_batch | jobinstance | postgres | | t | f | t | f + fhir_fudge_batch | groupassociation | postgres | | t | f | t | f + fhir_fudge_batch | jobexecution | postgres | | t | f | t | f + fhir_fudge_batch | stepthreadexecution | postgres | | t | f | t | f + fhir_fudge_batch | stepthreadinstance | postgres | | t | f | t | f + fhir_fudge_batch | jobparameter | postgres | | t | f | t | f + fhir_fudge_batch | remotablepartition_table | postgres | | t | f | t | f + +# Test 7 - Existing Update Schema OAuth +--prop-file postgresql.properties +--db-type postgresql +--update-schema-oauth fhir_fudge_oauth + +Create schema fhir_fudge_oauth +Check tables SELECT * FROM pg_catalog.pg_tables WHERE schemaname = 'fhir_fudge_oauth'; + +# Test 8 - Existing Update Schema DATA +--prop-file postgresql.properties +--db-type postgresql +--update-schema-batch fhir_fudge_fdata + +fhirdb=# create schema fhir_fudge_fdata; +CREATE SCHEMA +fhirdb=# SELECT * FROM pg_catalog.pg_tables WHERE schemaname = 'fhir_fudge_fdata' + +# Test 9 - Grant To fhirdata - FHIR +--prop-file postgresql.properties +--db-type postgresql +--grant-to fhirserver +--target DATA fhir_fudge_fdata + +# Test 10 - Grant To OAUTH - FHIR +--prop-file postgresql.properties +--grant-to fhirserver +--db-type postgresql +--target OAUTH FHIR_OAUTH + +# Test 11 - Grant To BATCH - FHIR_JBATCH +--prop-file postgresql.properties +--grant-to fhirserver +--db-type postgresql +--target BATCH FHIR_JBATCH + +# Test 12 - Grant To All Default +--prop-file postgresql.properties +--db-type postgresql +--grant-to fhirserver + +# Test 13 - Allocate Tenant - FHIRDATA +--prop-file postgresql.properties +--schema-name FHIRDATA +--allocate-tenant default +--db-type postgresql \ No newline at end of file diff --git a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/Main.java b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/Main.java index a1e3b2fe0f6..1d673fe5ed4 100644 --- a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/Main.java +++ b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/Main.java @@ -6,22 +6,23 @@ package com.ibm.fhir.schema.app; -import java.io.File; +import static com.ibm.fhir.schema.app.util.CommonUtil.configureLogger; +import static com.ibm.fhir.schema.app.util.CommonUtil.getDbAdapter; +import static com.ibm.fhir.schema.app.util.CommonUtil.getPropertyAdapter; +import static com.ibm.fhir.schema.app.util.CommonUtil.getRandomKey; +import static com.ibm.fhir.schema.app.util.CommonUtil.loadDriver; +import static com.ibm.fhir.schema.app.util.CommonUtil.logClasspath; +import static com.ibm.fhir.schema.app.util.CommonUtil.printUsage; + import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import java.io.PrintStream; -import java.net.URL; -import java.net.URLClassLoader; -import java.security.SecureRandom; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Arrays; -import java.util.Base64; -import java.util.Base64.Encoder; import java.util.Collection; import java.util.List; import java.util.Properties; @@ -32,7 +33,7 @@ import java.util.stream.Collectors; import com.ibm.fhir.database.utils.api.DataAccessException; -import com.ibm.fhir.database.utils.api.IConnectionProvider; +import com.ibm.fhir.database.utils.api.DatabaseNotReadyException; import com.ibm.fhir.database.utils.api.IDatabaseAdapter; import com.ibm.fhir.database.utils.api.IDatabaseTranslator; import com.ibm.fhir.database.utils.api.ITransaction; @@ -42,22 +43,16 @@ import com.ibm.fhir.database.utils.common.JdbcConnectionProvider; import com.ibm.fhir.database.utils.common.JdbcPropertyAdapter; import com.ibm.fhir.database.utils.common.JdbcTarget; -import com.ibm.fhir.database.utils.common.LogFormatter; import com.ibm.fhir.database.utils.db2.Db2Adapter; import com.ibm.fhir.database.utils.db2.Db2GetTenantVariable; -import com.ibm.fhir.database.utils.db2.Db2PropertyAdapter; import com.ibm.fhir.database.utils.db2.Db2SetTenantVariable; import com.ibm.fhir.database.utils.db2.Db2Translator; -import com.ibm.fhir.database.utils.derby.DerbyAdapter; -import com.ibm.fhir.database.utils.derby.DerbyPropertyAdapter; import com.ibm.fhir.database.utils.derby.DerbyTranslator; import com.ibm.fhir.database.utils.model.DatabaseObjectType; import com.ibm.fhir.database.utils.model.DbType; import com.ibm.fhir.database.utils.model.PhysicalDataModel; import com.ibm.fhir.database.utils.model.Tenant; import com.ibm.fhir.database.utils.pool.PoolConnectionProvider; -import com.ibm.fhir.database.utils.postgresql.PostgreSqlAdapter; -import com.ibm.fhir.database.utils.postgresql.PostgreSqlPropertyAdapter; import com.ibm.fhir.database.utils.postgresql.PostgreSqlTranslator; import com.ibm.fhir.database.utils.tenant.AddTenantKeyDAO; import com.ibm.fhir.database.utils.tenant.GetTenantDAO; @@ -69,6 +64,7 @@ import com.ibm.fhir.schema.control.FhirSchemaConstants; import com.ibm.fhir.schema.control.FhirSchemaGenerator; import com.ibm.fhir.schema.control.GetResourceTypeList; +import com.ibm.fhir.schema.control.JavaBatchSchemaGenerator; import com.ibm.fhir.schema.control.OAuthSchemaGenerator; import com.ibm.fhir.schema.control.PopulateParameterNames; import com.ibm.fhir.schema.control.PopulateResourceTypes; @@ -84,29 +80,39 @@ * This utility also includes an option to exercise the tenant partitioning code. */ public class Main { - private static final Logger logger = Logger.getLogger(Main.class.getName()); private static final int EXIT_OK = 0; // validation was successful private static final int EXIT_BAD_ARGS = 1; // invalid CLI arguments private static final int EXIT_RUNTIME_ERROR = 2; // programming error private static final int EXIT_VALIDATION_FAILED = 3; // validation test failed + private static final int EXIT_NOT_READY = 4; // DATABASE NOT READY private static final double NANOS = 1e9; // Indicates if the feature is enabled for the DbType public List MULTITENANT_FEATURE_ENABLED = Arrays.asList(DbType.DB2); public List STORED_PROCEDURE_ENABLED = Arrays.asList(DbType.DB2, DbType.POSTGRESQL); + public List PRIVILEGES_FEATURE_ENABLED = Arrays.asList(DbType.DB2, DbType.POSTGRESQL); // Properties accumulated as we parse args and read configuration files private final Properties properties = new Properties(); - // The schema we will use for all the FHIR data tables - private String schemaName; + // Default Values for schema names + public static final String ADMIN_SCHEMANAME = "FHIR_ADMIN"; + public static final String OAUTH_SCHEMANAME = "FHIR_OAUTH"; + public static final String BATCH_SCHEMANAME = "FHIR_JBATCH"; + public static final String DATA_SCHEMANAME = "FHIRDATA"; // The schema used for administration of tenants - private String adminSchemaName = "FHIR_ADMIN"; + private String adminSchemaName = ADMIN_SCHEMANAME; // The schema used for administration of OAuth 2.0 clients - private String oauthSchemaName = "FHIR_OAUTH"; + private String oauthSchemaName = OAUTH_SCHEMANAME; + + // The schema used for Java Batch + private String javaBatchSchemaName = BATCH_SCHEMANAME; + + // The schema we will use for all the FHIR data tables + private String schemaName = DATA_SCHEMANAME; // Arguments requesting we drop the objects from the schema private boolean dropSchema = false; @@ -114,14 +120,29 @@ public class Main { private boolean confirmDrop = false; private boolean updateProc = false; private boolean checkCompatibility = false; + + // Action flags related to FHIR Schema private boolean createFhirSchema = false; private boolean updateFhirSchema = false; + private boolean dropFhirSchema = false; + private boolean grantFhirSchema = false; + + // Action flags related to OAuth Schema private boolean createOauthSchema = false; private boolean updateOauthSchema = false; + private boolean dropOauthSchema = false; + private boolean grantOauthSchema = false; + + // Action flags related to Java Batch Schema + private boolean createJavaBatchSchema = false; + private boolean updateJavaBatchSchema = false; + private boolean dropJavaBatchSchema = false; + private boolean grantJavaBatchSchema = false; // By default, the dryRun option is OFF, and FALSE // When overridden, it simulates the actions. - private Boolean dryRun = false; + @SuppressWarnings("unused") + private boolean dryRun = false; // The database user we will grant tenant data access privileges to private String grantTo; @@ -152,363 +173,143 @@ public class Main { private PoolConnectionProvider connectionPool; private ITransactionProvider transactionProvider; - // Random generator for new tenant keys and salts - private static final SecureRandom random = new SecureRandom(); - + //----------------------------------------------------------------------------------------------------------------- + // The following method is related to the common methods and functions /** - * Parse the command-line arguments, building up the environment and - * establishing - * the run-list - * - * @param args + * @return a created connection to the selected database */ - protected void parseArgs(String[] args) { - - // Arguments are pretty simple, so we go with a basic switch instead of having - // yet another dependency (e.g. commons-cli). - for (int i = 0; i < args.length; i++) { - String arg = args[i]; - switch (arg) { - case "--prop-file": - if (++i < args.length) { - loadPropertyFile(args[i]); - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--schema-name": - if (++i < args.length) { - DataDefinitionUtil.assertValidName(args[i]); - - // Force upper-case to avoid tricky-to-catch errors related to quoting names - //this.schemaName = args[i].toUpperCase(); - this.schemaName = args[i]; - - if (!schemaName.equals(args[i])) { - logger.info("Schema name forced to upper case: " + schemaName); - } - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--grant-to": - if (++i < args.length) { - DataDefinitionUtil.assertValidName(args[i]); + protected Connection createConnection() { + Properties connectionProperties = new Properties(); + JdbcPropertyAdapter adapter = getPropertyAdapter(dbType, properties); + adapter.getExtraProperties(connectionProperties); - // Force upper-case because user names are case-insensitive - this.grantTo = args[i].toUpperCase(); - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--add-tenant-key": - if (++i < args.length) { - this.addKeyForTenant = args[i]; - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--update-proc": - this.updateProc = true; - break; - case "--check-compatibility": - this.checkCompatibility = true; - break; - case "--drop-admin": - this.dropAdmin = true; - break; - case "--test-tenant": - if (++i < args.length) { - this.tenantName = args[i]; - this.testTenant = true; - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--tenant-key": - if (++i < args.length) { - this.tenantKey = args[i]; - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--tenant-key-file": - if (++i < args.length) { - tenantKeyFileName = args[i]; - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--update-schema": - this.updateFhirSchema = true; - this.dropSchema = false; - this.updateOauthSchema = true; - break; - case "--create-schemas": - this.createFhirSchema = true; - this.createOauthSchema = true; - break; - case "--drop-schema": - this.updateFhirSchema = false; - this.dropSchema = true; - break; - case "--pool-size": - if (++i < args.length) { - this.maxConnectionPoolSize = Integer.parseInt(args[i]); - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--prop": - if (++i < args.length) { - // properties are given as name=value - addProperty(args[i]); - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--confirm-drop": - this.confirmDrop = true; - break; - case "--allocate-tenant": - if (++i < args.length) { - this.tenantName = args[i]; - this.allocateTenant = true; - this.dropTenant = false; - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--drop-tenant": - if (++i < args.length) { - this.tenantName = args[i]; - this.dropTenant = true; - this.allocateTenant = false; - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - break; - case "--dry-run": - this.dryRun = Boolean.TRUE; - break; - case "--db-type": - if (++i < args.length) { - this.dbType = DbType.from(args[i]); - } else { - throw new IllegalArgumentException("Missing value for argument at posn: " + i); - } - switch (dbType) { - case DERBY: - translator = new DerbyTranslator(); - // For some reason, embedded derby deadlocks if we use multiple threads - maxConnectionPoolSize = 1; - break; - case POSTGRESQL: - translator = new PostgreSqlTranslator(); - break; - case DB2: - default: - break; - } - break; - default: - throw new IllegalArgumentException("Invalid argument: " + arg); - } + String url = translator.getUrl(properties); + logger.info("Opening connection to: " + url); + Connection connection; + try { + connection = DriverManager.getConnection(url, connectionProperties); + connection.setAutoCommit(false); + } catch (SQLException x) { + throw translator.translate(x); } + return connection; } /** - * Read the properties from the given file - * - * @param filename + * Create a simple connection pool associated with our data source so that we + * can perform the DDL deployment in parallel */ - public void loadPropertyFile(String filename) { - try (InputStream is = new FileInputStream(filename)) { - properties.load(is); - } catch (IOException x) { - throw new IllegalArgumentException(x); - } + protected void configureConnectionPool() { + JdbcPropertyAdapter adapter = getPropertyAdapter(dbType, properties); + JdbcConnectionProvider cp = new JdbcConnectionProvider(this.translator, adapter); + this.connectionPool = new PoolConnectionProvider(cp, this.maxConnectionPoolSize); + this.transactionProvider = new SimpleTransactionProvider(this.connectionPool); } /** - * Parse the given key=value string and add to the properties being collected - * - * @param pair + * builds the common model based on the flags passed in + * @param pdm + * @param fhirSchema - true indicates if the fhir model is added to the Physical Data Model + * @param oauthSchema - true indicates if the oauth model is added to the Physical Data Model + * @param javaBatchSchema - true indicates if the model is added to the Physical Data Model */ - public void addProperty(String pair) { - String[] kv = pair.split("="); - if (kv.length == 2) { - properties.put(kv[0], kv[1]); - } else { - throw new IllegalArgumentException("Property must be defined as key=value, not: " + pair); + protected void buildCommonModel(PhysicalDataModel pdm, boolean fhirSchema, boolean oauthSchema, boolean javaBatchSchema) { + if (fhirSchema) { + FhirSchemaGenerator gen = new FhirSchemaGenerator(adminSchemaName, schemaName); + gen.buildSchema(pdm); + switch (dbType) { + case DB2: + gen.buildDatabaseSpecificArtifactsDb2(pdm); + break; + case DERBY: + logger.info("No database specific artifacts"); + break; + case POSTGRESQL: + gen.buildDatabaseSpecificArtifactsPostgres(pdm); + break; + default: + throw new IllegalStateException("Unsupported db type: " + dbType); + } } - } - /*** - * prints a brief menu to the standard out showing the usage. - */ - public static void printUsage() { - PrintStream ps = System.err; - ps.println("Usage: "); - - // Properties File - ps.println("--prop-file path-to-property-file"); - ps.println(" * loads the properties from a file"); - - // Schema Name - ps.println("--schema-name schema-name"); - ps.println(" * uses the schema as specified, must be valid."); - - // Grant Permissions to a valid username - ps.println("--grant-to username"); - ps.println(" * uses the user as specified, must be valid."); - ps.println(" * and grants permission to the username"); - - // Add Tenant Key - ps.println("--add-tenant-key tenant-key"); - ps.println(" * adds a tenant-key"); - - // Updates the Sotred Procedure for a Tenant - ps.println("--update-proc"); - ps.println(" * updates the stored procedure for a specific tenant"); - - // Checks feature compatiblility - ps.println("--check-compatibility"); - ps.println(" * checks feature compatibility "); - - // Drop the Admin Schema - ps.println("--drop-admin"); - ps.println(" * drops the admin schema "); - - // Test Tenant - ps.println("--test-tenant tenantName"); - ps.println(" * used to test with tenantName"); - - // Tenant Key - ps.println("--tenant-key tenantKey"); - ps.println(" * uses the tenant-key in the queries"); - - // Tenant Key File - ps.println("--tenant-key-file tenant-key-file-location"); - ps.println(" * sets the tenant key file location"); - - // Update Schema action - ps.println("--update-schema"); - ps.println(" * action to update the schema "); - - // Create Schema action - ps.println("--create-schemas"); - ps.println(" * action to create the schema "); - - // Drop Schema action - ps.println("--drop-schema"); - ps.println(" * action to drop the schema "); - - // Uses a specified poolsize - ps.println("--pool-size poolSize"); - ps.println(" * poolsize used with the database actions "); - - // Property used to connect - ps.println("--prop name=value"); - ps.println(" * name=value that is passed in on the commandline "); - - // Confirms dropping of the schema - ps.println("--confirm-drop"); - ps.println(" * confirms the dropping of a schema"); - - // Allocates Tenant - ps.println("--allocate-tenant"); - ps.println(" * allocates a tenant"); - - // Drops a Tenant - ps.println("--drop-tenant tenantName"); - ps.println(" * drops the tenant given the tenantName"); - - // Dry Run functionality - ps.println("--dry-run "); - ps.println(" * simulates the actions of the actions that change the datastore"); - } + // Build/update the Liberty OAuth-related tables + if (oauthSchema) { + OAuthSchemaGenerator oauthSchemaGenerator = new OAuthSchemaGenerator(oauthSchemaName); + oauthSchemaGenerator.buildOAuthSchema(pdm); + } - /** - * Set up the logger using the log.dir system property - */ - protected void configureLogger() { - final String logDirectory = System.getProperty("log.dir"); - if (logDirectory == null || logDirectory.isEmpty()) { - configureLogger("."); - } else { - configureLogger(logDirectory); + // Build/update the Liberty JBatch related tables + if (javaBatchSchema) { + JavaBatchSchemaGenerator javaBatchSchemaGenerator = new JavaBatchSchemaGenerator(javaBatchSchemaName); + javaBatchSchemaGenerator.buildJavaBatchSchema(pdm); } } /** - * Configure the logger to use the given directory. + * Start the schema object creation tasks and wait for everything to complete * - * @param logDir + * @param pdm + * @param adapter + * @param collector + * @param vhs */ - protected void configureLogger(final String logDir) { - File f = new File(logDir, "fhirschema.log"); - LogFormatter.init(f.getPath()); + protected void applyModel(PhysicalDataModel pdm, IDatabaseAdapter adapter, ITaskCollector collector, + VersionHistoryService vhs) { + logger.info("Collecting model update tasks"); + pdm.collect(collector, adapter, this.transactionProvider, vhs); + + // FHIR in the hole! + logger.info("Starting model updates"); + collector.startAndWait(); + + Collection failedTaskGroups = collector.getFailedTaskGroups(); + if (failedTaskGroups.size() > 0) { + this.exitStatus = EXIT_RUNTIME_ERROR; + + final String failedStr = + failedTaskGroups.stream().map((tg) -> tg.getTaskId()).collect(Collectors.joining(",")); + logger.severe("List of failed task groups: " + failedStr); + } } /** - * Get the program exit status from the environment - * + * specific feature to check if it is compatible. * @return */ - protected int getExitStatus() { - return this.exitStatus; + protected boolean checkCompatibility() { + IDatabaseAdapter adapter = getDbAdapter(dbType, connectionPool); + try (ITransaction tx = TransactionFactory.openTransaction(connectionPool)) { + return adapter.checkCompatibility(this.adminSchemaName); + } } /** - * Write a final status message - useful for QA to review when checking the - * output + * Create the schemas */ - protected void logStatusMessage(int status) { - switch (status) { - case EXIT_OK: - logger.info("SCHEMA CHANGE: OK"); - break; - case EXIT_BAD_ARGS: - logger.severe("SCHEMA CHANGE: BAD ARGS"); - break; - case EXIT_RUNTIME_ERROR: - logger.severe("SCHEMA CHANGE: RUNTIME ERROR"); - break; - case EXIT_VALIDATION_FAILED: - logger.warning("SCHEMA CHANGE: FAILED"); - break; - default: - logger.severe("SCHEMA CHANGE: RUNTIME ERROR"); - break; - } - } - - /** - * Drop all the objects in the admin and data schemas. Typically used - * during development. - */ - protected void dropSchema() { - - // Build/update the tables as well as the stored procedures - FhirSchemaGenerator gen = new FhirSchemaGenerator(adminSchemaName, schemaName); - PhysicalDataModel pdm = new PhysicalDataModel(); - gen.buildSchema(pdm); - + protected void createSchemas() { try { try (Connection c = createConnection()) { try { JdbcTarget target = new JdbcTarget(c); - IDatabaseAdapter adapter = getDbAdapter(target); + IDatabaseAdapter adapter = getDbAdapter(dbType, target); - if (this.dropSchema) { - // Just drop the objects associated with the FHIRDATA schema group - pdm.drop(adapter, FhirSchemaGenerator.SCHEMA_GROUP_TAG, FhirSchemaGenerator.FHIRDATA_GROUP); + // We always create the 'admin' schema to track to the changes to any of the other schemas. + adapter.createSchema(adminSchemaName); + + // FHIR Data Schema + if (createFhirSchema) { + adapter.createSchema(schemaName); + c.commit(); } - if (dropAdmin) { - // Just drop the objects associated with the ADMIN schema group - pdm.drop(adapter, FhirSchemaGenerator.SCHEMA_GROUP_TAG, FhirSchemaGenerator.ADMIN_GROUP); + // OAuth Schema + if (createOauthSchema) { + adapter.createSchema(oauthSchemaName); + } + + // Java Batch Schema + if (createJavaBatchSchema) { + adapter.createSchema(javaBatchSchemaName); } } catch (Exception x) { c.rollback(); @@ -521,59 +322,13 @@ protected void dropSchema() { } } - private JdbcPropertyAdapter getPropertyAdapter(Properties props) { - switch (dbType) { - case DB2: - return new Db2PropertyAdapter(props); - case DERBY: - return new DerbyPropertyAdapter(props); - case POSTGRESQL: - return new PostgreSqlPropertyAdapter(props); - default: - throw new IllegalStateException("Unsupported db type: " + dbType); - } - } - - private IDatabaseAdapter getDbAdapter(JdbcTarget target) { - switch (dbType) { - case DB2: - return new Db2Adapter(target); - case DERBY: - return new DerbyAdapter(target); - case POSTGRESQL: - return new PostgreSqlAdapter(target); - default: - throw new IllegalStateException("Unsupported db type: " + dbType); - } - } - - private IDatabaseAdapter getDbAdapter(IConnectionProvider connectionProvider) { - switch (dbType) { - case DB2: - return new Db2Adapter(connectionProvider); - case DERBY: - return new DerbyAdapter(connectionProvider); - case POSTGRESQL: - return new PostgreSqlAdapter(connectionProvider); - default: - throw new IllegalStateException("Unsupported db type: " + dbType); - } - } - /** * Update the schema */ protected void updateSchema() { // Build/update the FHIR-related tables as well as the stored procedures - FhirSchemaGenerator gen = new FhirSchemaGenerator(adminSchemaName, schemaName); PhysicalDataModel pdm = new PhysicalDataModel(); - gen.buildSchema(pdm); - - // Build/update the Liberty OAuth-related tables - if (updateOauthSchema) { - OAuthSchemaGenerator oauthSchemaGenerator = new OAuthSchemaGenerator(oauthSchemaName); - oauthSchemaGenerator.buildOAuthSchema(pdm); - } + buildCommonModel(pdm, updateFhirSchema, updateOauthSchema,updateJavaBatchSchema); // The objects are applied in parallel, which relies on each object // expressing its dependencies correctly. Changes are only applied @@ -581,7 +336,7 @@ protected void updateSchema() { TaskService taskService = new TaskService(); ExecutorService pool = Executors.newFixedThreadPool(this.maxConnectionPoolSize); ITaskCollector collector = taskService.makeTaskCollector(pool); - IDatabaseAdapter adapter = getDbAdapter(connectionPool); + IDatabaseAdapter adapter = getDbAdapter(dbType, connectionPool); // Before we start anything, we need to make sure our schema history // tables are in place. There's only a single history table, which @@ -590,7 +345,7 @@ protected void updateSchema() { CreateVersionHistory.createTableIfNeeded(adminSchemaName, adapter); // Current version history for the data schema - VersionHistoryService vhs = new VersionHistoryService(adminSchemaName, schemaName, oauthSchemaName); + VersionHistoryService vhs = new VersionHistoryService(adminSchemaName, schemaName, oauthSchemaName, javaBatchSchemaName); vhs.setTransactionProvider(transactionProvider); vhs.setTarget(adapter); vhs.init(); @@ -610,18 +365,61 @@ protected void updateSchema() { } /** - * Create fhir data and admin schema + * populates for the given tenantId the RESOURCE_TYPE table. + * + * @implNote if you update this method, be sure to update + * DerbyBootstrapper.populateResourceTypeAndParameterNameTableEntries + * and DerbyFhirDatabase.populateResourceTypeAndParameterNameTableEntries + * The reason is there are three different ways of managing the transaction. + * @param tenantId the mt_id that is used to setup the partition. + * passing in null signals not multi-tenant. + */ + protected void populateResourceTypeAndParameterNameTableEntries(Integer tenantId) { + try (ITransaction tx = TransactionFactory.openTransaction(connectionPool)) { + try (Connection c = connectionPool.getConnection();) { + String logTenantId = tenantId != null ? Integer.toString(tenantId) : "default"; + logger.info("tenantId [" + logTenantId + "] is being pre-populated with lookup table data."); + PopulateResourceTypes populateResourceTypes = + new PopulateResourceTypes(adminSchemaName, schemaName, tenantId); + populateResourceTypes.run(translator, c); + + PopulateParameterNames populateParameterNames = + new PopulateParameterNames(adminSchemaName, schemaName, tenantId); + populateParameterNames.run(translator, c); + logger.info("Finished prepopulating the resource type and search parameter code/name tables tables"); + } catch (SQLException ex) { + tx.setRollbackOnly(); + throw new DataAccessException(ex); + } catch (DataAccessException x) { + // Something went wrong, so mark the transaction as failed + tx.setRollbackOnly(); + throw x; + } + } + } + + /** + * Drop all the objects in the admin and data schemas. + * Typically used during development. */ - protected void createFhirSchemas() { + protected void dropSchema() { + PhysicalDataModel pdm = new PhysicalDataModel(); + buildCommonModel(pdm, dropFhirSchema, dropOauthSchema, dropJavaBatchSchema); + try { try (Connection c = createConnection()) { try { JdbcTarget target = new JdbcTarget(c); - IDatabaseAdapter adapter = getDbAdapter(target); - adapter.createSchema(schemaName); - adapter.createSchema(adminSchemaName); - if (createOauthSchema) { - adapter.createSchema(oauthSchemaName); + IDatabaseAdapter adapter = getDbAdapter(dbType, target); + + if (this.dropSchema) { + // Just drop the objects associated with the FHIRDATA schema group + pdm.drop(adapter, FhirSchemaGenerator.SCHEMA_GROUP_TAG, FhirSchemaGenerator.FHIRDATA_GROUP); + } + + if (dropAdmin) { + // Just drop the objects associated with the ADMIN schema group + pdm.drop(adapter, FhirSchemaGenerator.SCHEMA_GROUP_TAG, FhirSchemaGenerator.ADMIN_GROUP); } } catch (Exception x) { c.rollback(); @@ -634,6 +432,8 @@ protected void createFhirSchemas() { } } + //----------------------------------------------------------------------------------------------------------------- + // The following method is related to the Stored Procedures and Functions feature /** * Update the stored procedures used by FHIR to insert records * into the FHIR resource tables @@ -642,9 +442,10 @@ protected void updateProcedures() { if (!STORED_PROCEDURE_ENABLED.contains(dbType)) { return; } - FhirSchemaGenerator gen = new FhirSchemaGenerator(adminSchemaName, schemaName); + + // Build/update the tables as well as the stored procedures PhysicalDataModel pdm = new PhysicalDataModel(); - gen.buildSchema(pdm); + buildCommonModel(pdm, updateFhirSchema, updateOauthSchema,updateJavaBatchSchema); // Now only apply the procedures in the model. Much faster than // going through the whole schema @@ -652,8 +453,9 @@ protected void updateProcedures() { try (Connection c = createConnection()) { try { JdbcTarget target = new JdbcTarget(c); - IDatabaseAdapter adapter = getDbAdapter(target); + IDatabaseAdapter adapter = getDbAdapter(dbType, target); pdm.applyProcedures(adapter); + pdm.applyFunctions(adapter); } catch (Exception x) { c.rollback(); throw x; @@ -663,133 +465,10 @@ protected void updateProcedures() { } catch (SQLException x) { throw translator.translate(x); } - - } - - /** - * Start the schema object creation tasks and wait for everything to complete - * - * @param pdm - * @param adapter - * @param collector - * @param vhs - */ - protected void applyModel(PhysicalDataModel pdm, IDatabaseAdapter adapter, ITaskCollector collector, - VersionHistoryService vhs) { - logger.info("Collecting model update tasks"); - pdm.collect(collector, adapter, this.transactionProvider, vhs); - - // FHIR in the hole! - logger.info("Starting model updates"); - collector.startAndWait(); - - Collection failedTaskGroups = collector.getFailedTaskGroups(); - if (failedTaskGroups.size() > 0) { - this.exitStatus = EXIT_RUNTIME_ERROR; - - final String failedStr = - failedTaskGroups.stream().map((tg) -> tg.getTaskId()).collect(Collectors.joining(",")); - logger.severe("List of failed task groups: " + failedStr); - } - } - - /** - * Load the DB2 driver class - */ - protected void loadDriver() { - try { - Class.forName(translator.getDriverClassName()); - } catch (ClassNotFoundException e) { - throw new IllegalStateException(e); - } - - } - - /** - * Connect to the target database - * - * @return - */ - protected Connection createConnection() { - Properties connectionProperties = new Properties(); - JdbcPropertyAdapter adapter = getPropertyAdapter(properties); - adapter.getExtraProperties(connectionProperties); - - String url = translator.getUrl(properties); - logger.info("Opening connection to: " + url); - Connection connection; - try { - connection = DriverManager.getConnection(url, connectionProperties); - connection.setAutoCommit(false); - } catch (SQLException x) { - throw translator.translate(x); - } - - return connection; - - } - - /** - * Create a simple connection pool associated with our data source so that we - * can perform the DDL deployment in parallel - */ - protected void configureConnectionPool() { - JdbcPropertyAdapter adapter = getPropertyAdapter(properties); - - JdbcConnectionProvider cp = new JdbcConnectionProvider(this.translator, adapter); - this.connectionPool = new PoolConnectionProvider(cp, this.maxConnectionPoolSize); - this.transactionProvider = new SimpleTransactionProvider(this.connectionPool); - } - - /** - * Process the requested operation - */ - protected void process() { - long start = System.nanoTime(); - configureConnectionPool(); - - if (this.checkCompatibility) { - checkCompatibility(); - } - - if (addKeyForTenant != null) { - addTenantKey(); - } else if (this.dropSchema) { - // only proceed with the drop if the user has provided additional confirmation - if (this.confirmDrop) { - dropSchema(); - } else { - throw new IllegalArgumentException("[ERROR] Drop not confirmed with --confirm-drop"); - } - } else if (this.dropAdmin) { - // only try to drop the admin schema - if (this.confirmDrop) { - dropSchema(); - } else { - throw new IllegalArgumentException("[ERROR] Drop not confirmed with --confirm-drop"); - } - } else if (updateFhirSchema) { - updateSchema(); - } else if (createFhirSchema) { - createFhirSchemas(); - } else if (updateProc) { - updateProcedures(); - } else if (this.allocateTenant) { - allocateTenant(); - } else if (this.testTenant) { - testTenant(); - } else if (this.dropTenant) { - dropTenant(); - } - - if (this.grantTo != null) { - grantPrivileges(FhirSchemaConstants.FHIR_USER_GRANT_GROUP); - } - - long elapsed = System.nanoTime() - start; - logger.info(String.format("Processing took: %7.3f s", elapsed / NANOS)); } + //----------------------------------------------------------------------------------------------------------------- + // The following method is related to the Privilege feature /** * Grant the minimum required set of privileges on the FHIR schema objects * to the grantTo user. All tenant data access is via this user, and is the @@ -798,16 +477,24 @@ protected void process() { * @param groupName */ protected void grantPrivileges(String groupName) { - if (!MULTITENANT_FEATURE_ENABLED.contains(dbType)) { + if (!PRIVILEGES_FEATURE_ENABLED.contains(dbType)) { return; } + // The case where all are to be granted on the default schemas. + if (!(updateFhirSchema || grantFhirSchema || updateOauthSchema + || grantOauthSchema || updateJavaBatchSchema || grantJavaBatchSchema)) { + grantOauthSchema = true; + grantFhirSchema = true; + grantJavaBatchSchema = true; + } + // Build/update the tables as well as the stored procedures - FhirSchemaGenerator gen = new FhirSchemaGenerator(adminSchemaName, schemaName); PhysicalDataModel pdm = new PhysicalDataModel(); - gen.buildSchema(pdm); + buildCommonModel(pdm, updateFhirSchema || grantFhirSchema, updateOauthSchema || grantOauthSchema, + updateJavaBatchSchema || grantJavaBatchSchema); - final Db2Adapter adapter = new Db2Adapter(this.connectionPool); + final IDatabaseAdapter adapter = getDbAdapter(dbType, connectionPool); try (ITransaction tx = TransactionFactory.openTransaction(connectionPool)) { try { pdm.applyGrants(adapter, groupName, grantTo); @@ -817,9 +504,10 @@ protected void grantPrivileges(String groupName) { throw x; } } - } + //----------------------------------------------------------------------------------------------------------------- + // The following methods are related to Multi-Tenant only. /** * Add a new tenant key so that we can rotate the values (add a * new key, update config files, then remove the old key). This @@ -1009,47 +697,18 @@ protected void allocateTenant() { } } - /** - * populates for the given tenantId the RESOURCE_TYPE table. - * - * @implNote if you update this method, be sure to update - * DerbyBootstrapper.populateResourceTypeAndParameterNameTableEntries - * and DerbyFhirDatabase.populateResourceTypeAndParameterNameTableEntries - * The reason is there are three different ways of managing the transaction. - * @param tenantId the mt_id that is used to setup the partition. - * passing in null signals not multi-tenant. - */ - protected void populateResourceTypeAndParameterNameTableEntries(Integer tenantId) { - try (ITransaction tx = TransactionFactory.openTransaction(connectionPool)) { - try (Connection c = connectionPool.getConnection();) { - logger.info("tenantId [" + tenantId + "] is being pre-populated with lookup table data."); - PopulateResourceTypes populateResourceTypes = - new PopulateResourceTypes(adminSchemaName, schemaName, tenantId); - populateResourceTypes.run(translator, c); - - PopulateParameterNames populateParameterNames = - new PopulateParameterNames(adminSchemaName, schemaName, tenantId); - populateParameterNames.run(translator, c); - logger.info("Finished prepopulating the resource type and search parameter code/name tables tables"); - } catch (SQLException ex) { - tx.setRollbackOnly(); - throw new DataAccessException(ex); - } catch (DataAccessException x) { - // Something went wrong, so mark the transaction as failed - tx.setRollbackOnly(); - throw x; - } - } - } - /** * Check that we can call the set_tenant procedure successfully (which means * that the * tenant record exists in the tenants table) */ protected void testTenant() { - if (this.tenantName == null || this.tenantName.isEmpty()) { - throw new IllegalStateException("Missing tenant name"); + if (!MULTITENANT_FEATURE_ENABLED.contains(dbType)) { + return; + } + + if (this.tenantName == null || this.tenantName.isEmpty()) { + throw new IllegalStateException("Missing tenant name"); } // Part of Bring your own Tenant Key @@ -1101,6 +760,10 @@ protected void testTenant() { * Deallocate this tenant, dropping all the related partitions */ protected void dropTenant() { + if (!MULTITENANT_FEATURE_ENABLED.contains(dbType)) { + return; + } + // Mark the tenant as being dropped. This should prevent it from // being used in any way Db2Adapter adapter = new Db2Adapter(connectionPool); @@ -1143,41 +806,368 @@ protected void dropTenant() { throw x; } } - } - protected boolean checkCompatibility() { - Db2Adapter adapter = new Db2Adapter(connectionPool); - try (ITransaction tx = TransactionFactory.openTransaction(connectionPool)) { - return adapter.checkCompatibility(this.adminSchemaName); + //----------------------------------------------------------------------------------------------------------------- + // The following methods are related to parsing arguments and action selection + /** + * Parse the command-line arguments, building up the environment and + * establishing + * the run-list + * + * @param args + */ + protected void parseArgs(String[] args) { + // Arguments are pretty simple, so we go with a basic switch instead of having + // yet another dependency (e.g. commons-cli). + for (int i = 0; i < args.length; i++) { + int nextIdx = (i + 1); + String arg = args[i]; + switch (arg) { + case "--prop-file": + if (++i < args.length) { + loadPropertyFile(args[i]); + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--schema-name": + if (++i < args.length) { + DataDefinitionUtil.assertValidName(args[i]); + + // Force upper-case to avoid tricky-to-catch errors related to quoting names + this.schemaName = args[i]; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--grant-to": + if (++i < args.length) { + DataDefinitionUtil.assertValidName(args[i]); + + // Force upper-case because user names are case-insensitive + this.grantTo = args[i].toUpperCase(); + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--target": + if (++i < args.length) { + DataDefinitionUtil.assertValidName(args[i]); + List targets = Arrays.asList(args[i].split(",")); + for (String target : targets) { + String tmp = target.toUpperCase(); + nextIdx++; + if (tmp.startsWith("BATCH")) { + this.grantJavaBatchSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.javaBatchSchemaName = args[nextIdx]; + i++; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + } else if (tmp.startsWith("OAUTH")){ + this.grantOauthSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.oauthSchemaName = args[nextIdx]; + i++; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + } else if (tmp.startsWith("DATA")){ + this.grantFhirSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.schemaName = args[nextIdx]; + i++; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + } + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--add-tenant-key": + if (++i < args.length) { + this.addKeyForTenant = args[i]; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--update-proc": + this.updateProc = true; + break; + case "--check-compatibility": + this.checkCompatibility = true; + break; + case "--drop-admin": + this.dropAdmin = true; + break; + case "--test-tenant": + if (++i < args.length) { + this.tenantName = args[i]; + this.testTenant = true; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--tenant-key": + if (++i < args.length) { + this.tenantKey = args[i]; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--tenant-key-file": + if (++i < args.length) { + tenantKeyFileName = args[i]; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--update-schema": + this.updateFhirSchema = true; + this.updateOauthSchema = true; + this.updateJavaBatchSchema = true; + this.dropSchema = false; + break; + case "--update-schema-fhir": + this.updateFhirSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.schemaName = args[nextIdx]; + i++; + } else { + this.schemaName = DATA_SCHEMANAME; + } + break; + case "--update-schema-batch": + this.updateJavaBatchSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.javaBatchSchemaName = args[nextIdx]; + i++; + } + break; + case "--update-schema-oauth": + this.updateOauthSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.oauthSchemaName = args[nextIdx]; + i++; + } + break; + case "--create-schemas": + this.createFhirSchema = true; + this.createOauthSchema = true; + this.createJavaBatchSchema = true; + break; + case "--create-schema-fhir": + this.createFhirSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.schemaName = args[nextIdx]; + i++; + } + break; + case "--create-schema-batch": + this.createJavaBatchSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.javaBatchSchemaName = args[nextIdx]; + i++; + } + break; + case "--create-schema-oauth": + this.createOauthSchema = true; + if (nextIdx < args.length && !args[nextIdx].startsWith("--")) { + this.oauthSchemaName = args[nextIdx]; + i++; + } + break; + case "--drop-schema": + this.updateFhirSchema = false; + this.dropSchema = true; + break; + case "--drop-schema-fhir": + this.dropFhirSchema = Boolean.TRUE; + break; + case "--drop-schema-batch": + this.dropJavaBatchSchema = Boolean.TRUE; + break; + case "--drop-schema-oauth": + this.dropOauthSchema = Boolean.TRUE; + break; + case "--pool-size": + if (++i < args.length) { + this.maxConnectionPoolSize = Integer.parseInt(args[i]); + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--prop": + if (++i < args.length) { + // properties are given as name=value + addProperty(args[i]); + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--confirm-drop": + this.confirmDrop = true; + break; + case "--allocate-tenant": + if (++i < args.length) { + this.tenantName = args[i]; + this.allocateTenant = true; + this.dropTenant = false; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--drop-tenant": + if (++i < args.length) { + this.tenantName = args[i]; + this.dropTenant = true; + this.allocateTenant = false; + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + break; + case "--dry-run": + this.dryRun = Boolean.TRUE; + break; + case "--db-type": + if (++i < args.length) { + this.dbType = DbType.from(args[i]); + } else { + throw new IllegalArgumentException("Missing value for argument at posn: " + i); + } + switch (dbType) { + case DERBY: + translator = new DerbyTranslator(); + // For some reason, embedded derby deadlocks if we use multiple threads + maxConnectionPoolSize = 1; + break; + case POSTGRESQL: + translator = new PostgreSqlTranslator(); + break; + case DB2: + default: + break; + } + break; + default: + throw new IllegalArgumentException("Invalid argument: " + arg); + } } } /** - * Generate a random 32 byte value encoded as a Base64 string (44 characters). + * Read the properties from the given file * - * @return + * @param filename */ - private String getRandomKey() { - byte[] buffer = new byte[32]; - random.nextBytes(buffer); + public void loadPropertyFile(String filename) { + try (InputStream is = new FileInputStream(filename)) { + properties.load(is); + } catch (IOException x) { + throw new IllegalArgumentException(x); + } + } - Encoder enc = Base64.getEncoder(); - return enc.encodeToString(buffer); + /** + * Parse the given key=value string and add to the properties being collected + * + * @param pair + */ + public void addProperty(String pair) { + String[] kv = pair.split("="); + if (kv.length == 2) { + properties.put(kv[0], kv[1]); + } else { + throw new IllegalArgumentException("Property must be defined as key=value, not: " + pair); + } } /** - * Print the classpath so we can see what on earth is going on with connecting - * to DB2 using an api key. + * Process the requested operation */ - private static void logClasspath() { - if (logger.isLoggable(Level.FINE)) { - logger.fine("CLASSPATH: "); - ClassLoader cl = ClassLoader.getSystemClassLoader(); - URL[] classpath = ((URLClassLoader) cl).getURLs(); - for (URL u : classpath) { - logger.fine(" " + u.getFile()); + protected void process() { + long start = System.nanoTime(); + loadDriver(translator); + configureConnectionPool(); + + if (this.checkCompatibility) { + checkCompatibility(); + } + + if (addKeyForTenant != null) { + addTenantKey(); + } else if (this.dropSchema) { + // only proceed with the drop if the user has provided additional confirmation + if (this.confirmDrop) { + dropSchema(); + } else { + throw new IllegalArgumentException("[ERROR] Drop not confirmed with --confirm-drop"); } + } else if (this.dropAdmin) { + // only try to drop the admin schema + if (this.confirmDrop) { + dropSchema(); + } else { + throw new IllegalArgumentException("[ERROR] Drop not confirmed with --confirm-drop"); + } + } else if (updateFhirSchema || updateOauthSchema || updateJavaBatchSchema) { + updateSchema(); + } else if (createFhirSchema || createOauthSchema || createJavaBatchSchema) { + createSchemas(); + } else if (updateProc) { + updateProcedures(); + } else if (this.allocateTenant) { + allocateTenant(); + } else if (this.testTenant) { + testTenant(); + } else if (this.dropTenant) { + dropTenant(); + } + + if (this.grantTo != null) { + grantPrivileges(FhirSchemaConstants.FHIR_USER_GRANT_GROUP); + } + + long elapsed = System.nanoTime() - start; + logger.info(String.format("Processing took: %7.3f s", elapsed / NANOS)); + } + + /** + * Get the program exit status from the environment + * + * @return + */ + protected int getExitStatus() { + return this.exitStatus; + } + + /** + * Write a final status message - useful for QA to review when checking the + * output + */ + protected void logStatusMessage(int status) { + switch (status) { + case EXIT_OK: + logger.info("SCHEMA CHANGE: OK"); + break; + case EXIT_BAD_ARGS: + logger.severe("SCHEMA CHANGE: BAD ARGS"); + break; + case EXIT_RUNTIME_ERROR: + logger.severe("SCHEMA CHANGE: RUNTIME ERROR"); + break; + case EXIT_VALIDATION_FAILED: + logger.warning("SCHEMA CHANGE: FAILED"); + break; + default: + logger.severe("SCHEMA CHANGE: RUNTIME ERROR"); + break; } } @@ -1187,16 +1177,18 @@ private static void logClasspath() { * @param args */ public static void main(String[] args) { - logClasspath(); + logClasspath(logger); int exitStatus; Main m = new Main(); try { - m.configureLogger(); + configureLogger(); m.parseArgs(args); - m.loadDriver(); m.process(); exitStatus = m.getExitStatus(); + } catch(DatabaseNotReadyException x) { + logger.log(Level.SEVERE, "The database is not yet available. Please re-try.", x); + exitStatus = EXIT_NOT_READY; } catch (IllegalArgumentException x) { logger.log(Level.SEVERE, "bad argument", x); printUsage(); @@ -1214,5 +1206,4 @@ public static void main(String[] args) { // really ought to be able to see that this is a main function in a J2SE environment System.exit(exitStatus); } - } diff --git a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/SchemaPrinter.java b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/SchemaPrinter.java index 790a0cd204d..00a3008e166 100644 --- a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/SchemaPrinter.java +++ b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/SchemaPrinter.java @@ -53,6 +53,8 @@ import com.ibm.fhir.database.utils.version.VersionHistoryService; import com.ibm.fhir.schema.control.FhirSchemaConstants; import com.ibm.fhir.schema.control.FhirSchemaGenerator; +import com.ibm.fhir.schema.control.JavaBatchSchemaGenerator; +import com.ibm.fhir.schema.control.OAuthSchemaGenerator; /** * The SchemaPrinter outputs the DDL into three files - schema.sql, grants.sql, stored-procedures.sql.
@@ -83,10 +85,6 @@ *
*/ public class SchemaPrinter { - private static final String SCHEMA_NAME = "FHIRAPP"; - private static final String ADMIN_SCHEMA_NAME = "FHIR_ADMIN"; - private static final String OAUTH_SCHEMANAME = "FHIR_OAUTH"; - private static final String DELIMITER = ";"; private static final String STORED_PROCEDURE_DELIMITER = "@"; @@ -155,19 +153,25 @@ public void process() { Db2Adapter adapter = new Db2Adapter(target); // Set up the version history service first if it doesn't yet exist - CreateVersionHistory.createTableIfNeeded(ADMIN_SCHEMA_NAME, adapter); + CreateVersionHistory.createTableIfNeeded(Main.ADMIN_SCHEMANAME, adapter); // Current version history for the database. This is used by applyWithHistory // to determine which updates to apply and to record the new changes as they // are applied - VersionHistoryService vhs = new VersionHistoryService(ADMIN_SCHEMA_NAME, SCHEMA_NAME, OAUTH_SCHEMANAME); + VersionHistoryService vhs = new VersionHistoryService(Main.ADMIN_SCHEMANAME, Main.DATA_SCHEMANAME, Main.OAUTH_SCHEMANAME, Main.BATCH_SCHEMANAME); vhs.setTarget(adapter); // Create an instance of the service and use it to test creation // of the FHIR schema - FhirSchemaGenerator gen = new FhirSchemaGenerator(ADMIN_SCHEMA_NAME, SCHEMA_NAME); + FhirSchemaGenerator gen = new FhirSchemaGenerator(Main.ADMIN_SCHEMANAME, Main.DATA_SCHEMANAME); PhysicalDataModel model = new PhysicalDataModel(); gen.buildSchema(model); + + OAuthSchemaGenerator oauthSchemaGenerator = new OAuthSchemaGenerator(Main.OAUTH_SCHEMANAME); + oauthSchemaGenerator.buildOAuthSchema(model); + + JavaBatchSchemaGenerator javaBatchSchemaGenerator = new JavaBatchSchemaGenerator(Main.BATCH_SCHEMANAME); + javaBatchSchemaGenerator.buildJavaBatchSchema(model); model.apply(adapter); } @@ -178,20 +182,26 @@ public void processApplyGrants() { Db2Adapter adapter = new Db2Adapter(target); // Set up the version history service first if it doesn't yet exist - CreateVersionHistory.createTableIfNeeded(ADMIN_SCHEMA_NAME, adapter); + CreateVersionHistory.createTableIfNeeded(Main.ADMIN_SCHEMANAME, adapter); // Current version history for the database. This is used by applyWithHistory // to determine which updates to apply and to record the new changes as they // are applied - VersionHistoryService vhs = new VersionHistoryService(ADMIN_SCHEMA_NAME, SCHEMA_NAME, OAUTH_SCHEMANAME); + VersionHistoryService vhs = new VersionHistoryService(Main.ADMIN_SCHEMANAME, Main.DATA_SCHEMANAME, Main.OAUTH_SCHEMANAME, Main.BATCH_SCHEMANAME); vhs.setTarget(adapter); // Create an instance of the service and use it to test creation // of the FHIR schema - FhirSchemaGenerator gen = new FhirSchemaGenerator(ADMIN_SCHEMA_NAME, SCHEMA_NAME); + FhirSchemaGenerator gen = new FhirSchemaGenerator(Main.ADMIN_SCHEMANAME, Main.DATA_SCHEMANAME); PhysicalDataModel model = new PhysicalDataModel(); gen.buildSchema(model); - + + OAuthSchemaGenerator oauthSchemaGenerator = new OAuthSchemaGenerator(Main.OAUTH_SCHEMANAME); + oauthSchemaGenerator.buildOAuthSchema(model); + + JavaBatchSchemaGenerator javaBatchSchemaGenerator = new JavaBatchSchemaGenerator(Main.BATCH_SCHEMANAME); + javaBatchSchemaGenerator.buildJavaBatchSchema(model); + // clear it out. commands.clear(); model.applyGrants(adapter, FhirSchemaConstants.FHIR_USER_GRANT_GROUP, "FHIRUSER"); @@ -232,8 +242,10 @@ private void printHeader(PrintStream output) { */ public void print() { printHeader(out); - out.println("CREATE SCHEMA " + SCHEMA_NAME + DELIMITER + "\n"); - out.println("CREATE SCHEMA " + ADMIN_SCHEMA_NAME + DELIMITER + "\n"); + out.println("CREATE SCHEMA " + Main.DATA_SCHEMANAME + DELIMITER + "\n"); + out.println("CREATE SCHEMA " + Main.ADMIN_SCHEMANAME + DELIMITER + "\n"); + out.println("CREATE SCHEMA " + Main.OAUTH_SCHEMANAME + DELIMITER + "\n"); + out.println("CREATE SCHEMA " + Main.BATCH_SCHEMANAME + DELIMITER + "\n"); commands.keySet().stream().map(sql -> sql + DELIMITER + "\n").forEach(out::println); printHeader(outStoredProcedure); @@ -244,7 +256,6 @@ public void print() { public static void main(String[] args) { - boolean outputToFile = false; String outputFile = ""; diff --git a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/util/CommonUtil.java b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/util/CommonUtil.java new file mode 100644 index 00000000000..fbc02b7c6d0 --- /dev/null +++ b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/app/util/CommonUtil.java @@ -0,0 +1,225 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.schema.app.util; + +import java.io.File; +import java.io.PrintStream; +import java.net.URL; +import java.net.URLClassLoader; +import java.security.SecureRandom; +import java.util.Base64; +import java.util.Base64.Encoder; +import java.util.Properties; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.ibm.fhir.database.utils.api.IConnectionProvider; +import com.ibm.fhir.database.utils.api.IDatabaseAdapter; +import com.ibm.fhir.database.utils.api.IDatabaseTranslator; +import com.ibm.fhir.database.utils.common.JdbcPropertyAdapter; +import com.ibm.fhir.database.utils.common.JdbcTarget; +import com.ibm.fhir.database.utils.common.LogFormatter; +import com.ibm.fhir.database.utils.db2.Db2Adapter; +import com.ibm.fhir.database.utils.db2.Db2PropertyAdapter; +import com.ibm.fhir.database.utils.derby.DerbyAdapter; +import com.ibm.fhir.database.utils.derby.DerbyPropertyAdapter; +import com.ibm.fhir.database.utils.model.DbType; +import com.ibm.fhir.database.utils.postgresql.PostgreSqlAdapter; +import com.ibm.fhir.database.utils.postgresql.PostgreSqlPropertyAdapter; + +/** + * + */ +public final class CommonUtil { + // Random generator for new tenant keys and salts + private static final SecureRandom random = new SecureRandom(); + + /*** + * prints a brief menu to the standard out showing the usage. + */ + public static void printUsage() { + PrintStream ps = System.err; + ps.println("Usage: "); + + // Properties File + ps.println("--prop-file path-to-property-file"); + ps.println(" * loads the properties from a file"); + + // Schema Name + ps.println("--schema-name schema-name"); + ps.println(" * uses the schema as specified, must be valid."); + + // Grant Permissions to a valid username + ps.println("--grant-to username"); + ps.println(" * uses the user as specified, must be valid."); + ps.println(" * and grants permission to the username"); + + // Add Tenant Key + ps.println("--add-tenant-key tenant-key"); + ps.println(" * adds a tenant-key"); + + // Updates the Sotred Procedure for a Tenant + ps.println("--update-proc"); + ps.println(" * updates the stored procedure for a specific tenant"); + + // Checks feature compatiblility + ps.println("--check-compatibility"); + ps.println(" * checks feature compatibility "); + + // Drop the Admin Schema + ps.println("--drop-admin"); + ps.println(" * drops the admin schema "); + + // Test Tenant + ps.println("--test-tenant tenantName"); + ps.println(" * used to test with tenantName"); + + // Tenant Key + ps.println("--tenant-key tenantKey"); + ps.println(" * uses the tenant-key in the queries"); + + // Tenant Key File + ps.println("--tenant-key-file tenant-key-file-location"); + ps.println(" * sets the tenant key file location"); + + // Update Schema action + ps.println("--update-schema"); + ps.println(" * action to update the schema "); + + // Create Schema action + ps.println("--create-schemas"); + ps.println(" * action to create the schema "); + + // Drop Schema action + ps.println("--drop-schema"); + ps.println(" * action to drop the schema "); + + // Uses a specified poolsize + ps.println("--pool-size poolSize"); + ps.println(" * poolsize used with the database actions "); + + // Property used to connect + ps.println("--prop name=value"); + ps.println(" * name=value that is passed in on the commandline "); + + // Confirms dropping of the schema + ps.println("--confirm-drop"); + ps.println(" * confirms the dropping of a schema"); + + // Allocates Tenant + ps.println("--allocate-tenant"); + ps.println(" * allocates a tenant"); + + // Drops a Tenant + ps.println("--drop-tenant tenantName"); + ps.println(" * drops the tenant given the tenantName"); + + // Dry Run functionality + ps.println("--dry-run "); + ps.println(" * simulates the actions of the actions that change the datastore"); + } + + /** + * Set up the logger using the log.dir system property + */ + public static void configureLogger() { + final String logDirectory = System.getProperty("log.dir"); + if (logDirectory == null || logDirectory.isEmpty()) { + configureLogger("."); + } else { + configureLogger(logDirectory); + } + } + + /** + * Print the classpath so we can see what on earth is going on with connecting + * to DB2 using an api key. + */ + public static void logClasspath(Logger logger) { + if (logger.isLoggable(Level.FINE)) { + logger.fine("CLASSPATH: "); + ClassLoader cl = ClassLoader.getSystemClassLoader(); + URL[] classpath = ((URLClassLoader) cl).getURLs(); + for (URL u : classpath) { + logger.fine(" " + u.getFile()); + } + } + } + + /** + * Configure the logger to use the given directory. + * + * @param logDir + */ + public static void configureLogger(final String logDir) { + File f = new File(logDir, "fhirschema.log"); + LogFormatter.init(f.getPath()); + } + + /** + * Generate a random 32 byte value encoded as a Base64 string (44 characters). + * + * @return + */ + public static String getRandomKey() { + byte[] buffer = new byte[32]; + random.nextBytes(buffer); + Encoder enc = Base64.getEncoder(); + return enc.encodeToString(buffer); + } + + /** + * Load the driver class + */ + public static void loadDriver(IDatabaseTranslator translator) { + try { + Class.forName(translator.getDriverClassName()); + } catch (ClassNotFoundException e) { + throw new IllegalStateException(e); + } + } + + + public static JdbcPropertyAdapter getPropertyAdapter(DbType dbType, Properties props) { + switch (dbType) { + case DB2: + return new Db2PropertyAdapter(props); + case DERBY: + return new DerbyPropertyAdapter(props); + case POSTGRESQL: + return new PostgreSqlPropertyAdapter(props); + default: + throw new IllegalStateException("Unsupported db type: " + dbType); + } + } + + public static IDatabaseAdapter getDbAdapter(DbType dbType, JdbcTarget target) { + switch (dbType) { + case DB2: + return new Db2Adapter(target); + case DERBY: + return new DerbyAdapter(target); + case POSTGRESQL: + return new PostgreSqlAdapter(target); + default: + throw new IllegalStateException("Unsupported db type: " + dbType); + } + } + + public static IDatabaseAdapter getDbAdapter(DbType dbType, IConnectionProvider connectionProvider) { + switch (dbType) { + case DB2: + return new Db2Adapter(connectionProvider); + case DERBY: + return new DerbyAdapter(connectionProvider); + case POSTGRESQL: + return new PostgreSqlAdapter(connectionProvider); + default: + throw new IllegalStateException("Unsupported db type: " + dbType); + } + } +} \ No newline at end of file diff --git a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/FhirSchemaConstants.java b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/FhirSchemaConstants.java index 82593c04ef4..028f72fd344 100644 --- a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/FhirSchemaConstants.java +++ b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/FhirSchemaConstants.java @@ -10,7 +10,6 @@ * Constants related to Schema creation and updating. */ public class FhirSchemaConstants { - // A lower pool size is selected as default to limit the likelihood of contention on the DBMS. // Standard connection/thread pool size public static final int DEFAULT_POOL_SIZE = 1; @@ -29,6 +28,7 @@ public class FhirSchemaConstants { // Group of privilege grants used for FHIRUSER access public static final String FHIR_USER_GRANT_GROUP = "fhiruser"; + public static final String FHIR_BATCH_GRANT_GROUP = "fhirbatch"; public static final String FHIR_SEQUENCE = "FHIR_SEQUENCE"; public static final String FHIR_REF_SEQUENCE = "FHIR_REF_SEQUENCE"; diff --git a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/FhirSchemaGenerator.java b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/FhirSchemaGenerator.java index d2a153aa431..e9b19ca3b6e 100644 --- a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/FhirSchemaGenerator.java +++ b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/FhirSchemaGenerator.java @@ -54,7 +54,7 @@ import com.ibm.fhir.database.utils.api.IDatabaseStatement; import com.ibm.fhir.database.utils.common.DropColumn; import com.ibm.fhir.database.utils.common.DropIndex; -import com.ibm.fhir.database.utils.model.DbType; +import com.ibm.fhir.database.utils.model.FunctionDef; import com.ibm.fhir.database.utils.model.GroupPrivilege; import com.ibm.fhir.database.utils.model.IDatabaseObject; import com.ibm.fhir.database.utils.model.NopObject; @@ -72,14 +72,12 @@ * Encapsulates the generation of the FHIR schema artifacts */ public class FhirSchemaGenerator { - // The schema holding all the data-bearing tables private final String schemaName; // The schema used for administration objects like the tenants table, variable etc private final String adminSchemaName; - private static final String ADD_RESOURCE_TEMPLATE = "add_resource_template.sql"; private static final String ADD_CODE_SYSTEM = "ADD_CODE_SYSTEM"; private static final String ADD_PARAMETER_NAME = "ADD_PARAMETER_NAME"; private static final String ADD_RESOURCE_TYPE = "ADD_RESOURCE_TYPE"; @@ -229,12 +227,12 @@ public void buildAdminSchema(PhysicalDataModel model) { model.addObject(allAdminTablesComplete); // The set_tenant procedure can be created after all the admin tables are done - ProcedureDef setTenant = model.addProcedureAndFunctions(this.adminSchemaName, - SET_TENANT, 2, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, adminSchemaName, SET_TENANT.toLowerCase() + ".sql", null), + final String ROOT_DIR = "db2/"; + ProcedureDef setTenant = model.addProcedure(this.adminSchemaName, SET_TENANT, 2, + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, adminSchemaName, + ROOT_DIR + SET_TENANT.toLowerCase() + ".sql", null), Arrays.asList(allAdminTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); setTenant.addTag(SCHEMA_GROUP_TAG, ADMIN_GROUP); // A final marker which is used to block any FHIR data schema activity until the admin schema is completed @@ -332,7 +330,6 @@ protected void addTenantSequence(PhysicalDataModel pdm) { * @param model */ public void buildSchema(PhysicalDataModel model) { - // Build the complete physical model so that we know it's consistent buildAdminSchema(model); addFhirSequence(model); @@ -358,85 +355,81 @@ public void buildSchema(PhysicalDataModel model) { this.allTablesComplete.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); this.allTablesComplete.addDependencies(procedureDependencies); model.addObject(allTablesComplete); - + } + + public void buildDatabaseSpecificArtifactsDb2(PhysicalDataModel model) { // These procedures just depend on the table they are manipulating and the fhir sequence. But // to avoid deadlocks, we only apply them after all the tables are done, so we make all // procedures depend on the allTablesComplete marker. - ProcedureDef pd; - pd = model.addProcedureAndFunctions(this.schemaName, + final String ROOT_DIR = "db2/"; + ProcedureDef pd = model.addProcedure(this.schemaName, ADD_CODE_SYSTEM, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_CODE_SYSTEM.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_CODE_SYSTEM.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, codeSystemsTable, allTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, + pd = model.addProcedure(this.schemaName, ADD_PARAMETER_NAME, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_PARAMETER_NAME.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_PARAMETER_NAME.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, parameterNamesTable, allTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, + pd = model.addProcedure(this.schemaName, ADD_RESOURCE_TYPE, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_RESOURCE_TYPE.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_RESOURCE_TYPE.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, resourceTypesTable, allTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, + pd = model.addProcedure(this.schemaName, ADD_ANY_RESOURCE, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_ANY_RESOURCE.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_ANY_RESOURCE.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, resourceTypesTable, allTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); + } + public void buildDatabaseSpecificArtifactsPostgres(PhysicalDataModel model) { // Add stored procedures/functions for postgresql. // Have to use different object names from DB2, because the group processing doesn't support 2 objects with the same name. - // and the appended "_pg" will be removed when creating the stored procedure for postgresql. - pd = model.addProcedureAndFunctions(this.schemaName, - ADD_CODE_SYSTEM + "_pg", + final String ROOT_DIR = "postgres/"; + FunctionDef fd = model.addFunction(this.schemaName, + ADD_CODE_SYSTEM, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_CODE_SYSTEM.toLowerCase() - + "_" + DbType.POSTGRESQL.value() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_CODE_SYSTEM.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, codeSystemsTable, allTablesComplete), - procedurePrivileges, DbType.POSTGRESQL); - pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); + procedurePrivileges); + fd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, - ADD_PARAMETER_NAME + "_pg", + fd = model.addFunction(this.schemaName, + ADD_PARAMETER_NAME, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_PARAMETER_NAME.toLowerCase() - + "_" + DbType.POSTGRESQL.value() + ".sql", null), - Arrays.asList(fhirSequence, parameterNamesTable, allTablesComplete), - procedurePrivileges, DbType.POSTGRESQL); - pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_PARAMETER_NAME.toLowerCase() + + ".sql", null), + Arrays.asList(fhirSequence, parameterNamesTable, allTablesComplete), procedurePrivileges); + fd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, - ADD_RESOURCE_TYPE + "_pg", + fd = model.addFunction(this.schemaName, + ADD_RESOURCE_TYPE, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_RESOURCE_TYPE.toLowerCase() - + "_" + DbType.POSTGRESQL.value() + ".sql", null), - Arrays.asList(fhirSequence, resourceTypesTable, allTablesComplete), - procedurePrivileges, DbType.POSTGRESQL); - pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_RESOURCE_TYPE.toLowerCase() + + ".sql", null), + Arrays.asList(fhirSequence, resourceTypesTable, allTablesComplete), procedurePrivileges); + fd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, - ADD_ANY_RESOURCE + "_pg", + fd = model.addFunction(this.schemaName, + ADD_ANY_RESOURCE, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_ANY_RESOURCE.toLowerCase() - + "_" + DbType.POSTGRESQL.value() + ".sql", null), - Arrays.asList(fhirSequence, resourceTypesTable, allTablesComplete), - procedurePrivileges, DbType.POSTGRESQL); - pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_ANY_RESOURCE.toLowerCase() + + ".sql", null), + Arrays.asList(fhirSequence, resourceTypesTable, allTablesComplete), procedurePrivileges); + fd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); } /** diff --git a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/JavaBatchSchemaGenerator.java b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/JavaBatchSchemaGenerator.java new file mode 100644 index 00000000000..02bd3153e2f --- /dev/null +++ b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/JavaBatchSchemaGenerator.java @@ -0,0 +1,442 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.schema.control; + +import static com.ibm.fhir.schema.control.FhirSchemaConstants.PK; + +import java.util.Arrays; +import java.util.List; + +import com.ibm.fhir.database.utils.model.Generated; +import com.ibm.fhir.database.utils.model.GroupPrivilege; +import com.ibm.fhir.database.utils.model.PhysicalDataModel; +import com.ibm.fhir.database.utils.model.Privilege; +import com.ibm.fhir.database.utils.model.Table; + +/** + * Encapsulates the generation of the Liberty Java Batch schema artifacts. + * This sql is generated using the Open Liberty tool ddlGen + * wlp/bin/ddlGen generate fhir-server + */ +public class JavaBatchSchemaGenerator { + public static final String BATCH_SCHEMANAME = "FHIR_JBATCH"; + public static final Boolean NOT_NULL = Boolean.FALSE; + public static final Boolean NULL = Boolean.TRUE; + + public static final String JOBPARAMETER_TABLE = "JOBPARAMETER"; + public static final String NAME = "NAME"; + public static final String VALUE = "VALUE"; + public static final String FK_JOBEXECID = "FK_JOBEXECID"; + public static final String JP_FKJOBEXECID_IX = "JP_FKJOBEXECID_IX"; + + public static final String JOBEXECUTION_TABLE = "JOBEXECUTION"; + public static final String JOBEXECID = "JOBEXECID"; + public static final String ENDTIME = "ENDTIME"; + public static final String EXECNUM = "EXECNUM"; + public static final String JOBPARAMETERS = "JOBPARAMETERS"; + public static final String LOGPATH = "LOGPATH"; + public static final String RESTURL = "RESTURL"; + public static final String SERVERID = "SERVERID"; + public static final String STARTTIME = "STARTTIME"; + + public static final String GROUPASSOCIATION_TABLE = "GROUPASSOCIATION"; + public static final String FK_JOBINSTANCEID = "FK_JOBINSTANCEID"; + public static final String GROUPNAMES = "GROUPNAMES"; + + public static final String JOBINSTANCE_TABLE = "JOBINSTANCE"; + public static final String JOBINSTANCEID = "JOBINSTANCEID"; + public static final String AMCNAME = "AMCNAME"; + public static final String BATCHSTATUS = "BATCHSTATUS"; + public static final String CREATETIME = "CREATETIME"; + public static final String EXITSTATUS = "EXITSTATUS"; + public static final String INSTANCESTATE = "INSTANCESTATE"; + public static final String JOBNAME = "JOBNAME"; + public static final String JOBXMLNAME = "JOBXMLNAME"; + public static final String JOBXML = "JOBXML"; + public static final String NUMEXECS = "NUMEXECS"; + public static final String RESTARTON = "RESTARTON"; + public static final String SUBMITTER = "SUBMITTER"; + public static final String UPDATETIME = "UPDATETIME"; + + public static final String STEPTHREADINSTANCE_TABLE = "STEPTHREADINSTANCE"; + public static final String PARTNUM = "PARTNUM"; + public static final String STEPNAME = "STEPNAME"; + public static final String THREADTYPE = "THREADTYPE"; + public static final String CHECKPOINTDATA = "CHECKPOINTDATA"; + public static final String PARTITIONED = "PARTITIONED"; + public static final String PARTITIONPLANSIZE = "PARTITIONPLANSIZE"; + public static final String STARTCOUNT = "STARTCOUNT"; + public static final String FK_LATEST_STEPEXECID = "FK_LATEST_STEPEXECID"; + + public static final String STEPTHREADEXECUTION_TABLE = "STEPTHREADEXECUTION"; + public static final String STEPEXECID = "STEPEXECID"; + + public static final String REMOTABLEPARTITION_TABLE = "REMOTABLEPARTITION"; + public static final String INTERNALSTATE = "INTERNALSTATE"; + public static final String LASTUPDATED = "LASTUPDATED"; + public static final String FK_JOBEXECUTIONID = "FK_JOBEXECUTIONID"; + public static final String FK_STEPEXECUTIONID = "FK_STEPEXECUTIONID"; + + public static final String M_COMMIT = "M_COMMIT"; + public static final String M_FILTER = "M_FILTER"; + public static final String INTERNALSTATUS = "INTERNALSTATUS"; + public static final String USERDATA = "USERDATA"; + public static final String M_PROCESSSKIP = "M_PROCESSSKIP"; + public static final String M_READ = "M_READ"; + public static final String M_READSKIP = "M_READSKIP"; + public static final String M_ROLLBACK = "M_ROLLBACK"; + public static final String M_WRITE = "M_WRITE"; + public static final String M_WRITESKIP = "M_WRITESKIP"; + public static final String ISPARTITIONEDSTEP = "ISPARTITIONEDSTEP"; + public static final String FK_TOPLVL_STEPEXECID = "FK_TOPLVL_STEPEXECID"; + + // The schema holding all the Java Batch data + private final String schemaName; + + /** + * Configures the destination schema for JavaBatch + * @param schemaName + */ + public JavaBatchSchemaGenerator(String schemaName) { + this.schemaName = schemaName; + } + + /** + * Create the tables needed by the Liberty JBatch databaseStore + * @param model + */ + public void buildJavaBatchSchema(PhysicalDataModel model) { + addJobInstanceTable(model); + addJobExecutionTable(model); + addStepThreadExecutionTable(model); + addStepThreadInstanceTable(model); + addRemotablePartitionTable(model); + addGroupAssociationTable(model); + addJobParameterTable(model); + } + + protected List generateGroupPrivilege(){ + return Arrays.asList( + new GroupPrivilege(FhirSchemaConstants.FHIR_BATCH_GRANT_GROUP, Privilege.SELECT), + new GroupPrivilege(FhirSchemaConstants.FHIR_BATCH_GRANT_GROUP, Privilege.INSERT), + new GroupPrivilege(FhirSchemaConstants.FHIR_BATCH_GRANT_GROUP, Privilege.DELETE), + new GroupPrivilege(FhirSchemaConstants.FHIR_BATCH_GRANT_GROUP, Privilege.UPDATE)); + } + + /** + * Adds the job table with the following values: + + CREATE TABLE FHIR_BATCH.JOBPARAMETER ( + NAME VARCHAR(255), + VALUE VARCHAR(255), + FK_JOBEXECID BIGINT) + CREATE INDEX FHIR_BATCH.JP_FKJOBEXECID_IX ON FHIR_BATCH.JOBPARAMETER (FK_JOBEXECID) + ALTER TABLE FHIR_BATCH.JOBPARAMETER ADD CONSTRAINT JBPRMETERFKJBXECID FOREIGN KEY (FK_JOBEXECID) + REFERENCES FHIR_BATCH.JOBEXECUTION (JOBEXECID) + + * @param model + */ + public void addJobParameterTable(PhysicalDataModel model) { + // The default for the value is 255, and chosen to update to 4096 + Table parameter = Table.builder(schemaName, JOBPARAMETER_TABLE) + .addVarcharColumn(NAME, 255, NULL) // NAME VARCHAR(255) + .addVarcharColumn(VALUE, 4096, NULL) // VALUE VARCHAR(255) (updated to 4096) + .addBigIntColumn(FK_JOBEXECID, NOT_NULL) // FK_JOBEXECID BIGINT + .addForeignKeyConstraintAltTarget("JBPRMETERFKJBXECID", schemaName, JOBEXECUTION_TABLE, JOBEXECID, FK_JOBEXECID) + .addIndex("JP_FKJOBEXECID_IX", FK_JOBEXECID) + .addPrivileges(generateGroupPrivilege()) + .build(model); + model.addTable(parameter); + model.addObject(parameter); + } + + /** + * Adds the group association table with the following values: + + CREATE TABLE FHIR_BATCH.GROUPASSOCIATION ( + FK_JOBINSTANCEID BIGINT, + GROUPNAMES VARCHAR(255)) + CREATE INDEX FHIR_BATCH.GA_FKINSTANCEID_IX ON FHIR_BATCH.GROUPASSOCIATION (FK_JOBINSTANCEID) + ALTER TABLE FHIR_BATCH.GROUPASSOCIATION ADD CONSTRAINT GRPSSCTNFKJBNSTNCD FOREIGN KEY (FK_JOBINSTANCEID) + REFERENCES FHIR_BATCH.JOBINSTANCE (JOBINSTANCEID) + + * @param model + */ + public void addGroupAssociationTable(PhysicalDataModel model) { + Table parameter = Table.builder(schemaName, GROUPASSOCIATION_TABLE) + .addBigIntColumn(FK_JOBINSTANCEID, NULL) // FK_JOBINSTANCEID BIGINT + .addVarcharColumn( GROUPNAMES, 255, NULL) // GROUPNAMES VARCHAR(255) + .addIndex("GA_FKINSTANCEID_IX", FK_JOBINSTANCEID) + .addForeignKeyConstraintAltTarget("GRPSSCTNFKJBNSTNCD", schemaName, JOBINSTANCE_TABLE, JOBINSTANCEID, FK_JOBINSTANCEID) + .addPrivileges(generateGroupPrivilege()) + .build(model); + model.addTable(parameter); + model.addObject(parameter); + } + + /** + * Adds the Step Thread Execution table with the following values: + + CREATE TABLE FHIR_BATCH.STEPTHREADEXECUTION( + STEPEXECID BIGINT GENERATED BY DEFAULT AS IDENTITY, + THREADTYPE VARCHAR(31 OCTETS), + BATCHSTATUS INT NOT NULL, + M_COMMIT BIGINT NOT NULL, + ENDTIME TIMESTAMP, + EXITSTATUS VARCHAR(512 OCTETS), + M_FILTER BIGINT NOT NULL, + INTERNAL_STATUS INT NOT NULL, + PARTNUM INT NOT NULL, + USERDATA BLOB(2147483647) + INLINE LENGTH 10240 NOT NULL, + M_PROCESSSKIP BIGINT NOT NULL, + M_READ BIGINT NOT NULL, + M_READSKIP BIGINT NOT NULL, + M_ROLLBACK BIGINT NOT NULL, + STARTTIME TIMESTAMP, + STEPNAME VARCHAR(128 OCTETS) NOT NULL, + M_WRITE BIGINT NOT NULL, + M_WRITESKIP BIGINT NOT NULL, + FK_JOBEXECID BIGINT NOT NULL, + FK_TOPLVL_STEPEXECID BIGINT NOT NULL, + ISPARTITIONEDSTEP SMALLINT, + CONSTRAINT PK_STEPTHREADEXECUTION PRIMARY KEY (STEPEXECID)) + CREATE INDEX FHIR_BATCH.STE_FKJOBEXECID_IX ON FHIR_BATCH.STEPTHREADEXECUTION (FK_JOBEXECID) + CREATE INDEX FHIR_BATCH.STE_FKTLSTEPEID_IX ON FHIR_BATCH.STEPTHREADEXECUTION (FK_TOPLVL_STEPEXECID) + ALTER TABLE FHIR_BATCH.STEPTHREADEXECUTION ADD CONSTRAINT STPTHRADEXECUTION0 UNIQUE (FK_JOBEXECID, STEPNAME, PARTNUM) + ALTER TABLE FHIR_BATCH.STEPTHREADEXECUTION ADD CONSTRAINT STPTHFKTPLVLSTPXCD FOREIGN KEY (FK_TOPLVL_STEPEXECID) + REFERENCES FHIR_BATCH.STEPTHREADEXECUTION (STEPEXECID) + ALTER TABLE FHIR_BATCH.STEPTHREADEXECUTION ADD CONSTRAINT STPTHRDXCTNFKJBXCD FOREIGN KEY (FK_JOBEXECID) + REFERENCES FHIR_BATCH.JOBEXECUTION (JOBEXECID) + + * @param model + */ + public void addStepThreadExecutionTable(PhysicalDataModel model) { + Table stepThreadExecutionTable = Table.builder(schemaName, STEPTHREADEXECUTION_TABLE) + .addBigIntColumn(STEPEXECID, NOT_NULL) // STEPEXECID BIGINT + .setIdentityColumn(STEPEXECID, Generated.BY_DEFAULT) // GENERATED BY DEFAULT AS IDENTITY NOT NULL + .addVarcharColumn(THREADTYPE, 31, NULL) // THREADTYPE VARCHAR(31) + .addIntColumn(BATCHSTATUS, NOT_NULL) // BATCHSTATUS INTEGER NOT NULL + .addBigIntColumn(M_COMMIT, NOT_NULL) // M_COMMIT BIGINT NOT NULL + .addTimestampColumn(ENDTIME, NULL) // ENDTIME TIMESTAMP + .addVarcharColumn(EXITSTATUS, 512, NULL) // EXITSTATUS VARCHAR(512) + .addBigIntColumn(M_FILTER, NOT_NULL) // M_FILTER BIGINT NOT NULL + .addIntColumn(INTERNALSTATUS, NOT_NULL) // INTERNALSTATUS INTEGER NOT NULL + .addIntColumn(PARTNUM, NOT_NULL) // PARTNUM INTEGER NOT NULL + .addBlobColumn(USERDATA, 2147483647, 10240, NULL) // USERDATA BLOB(2147483647) + .addBigIntColumn(M_PROCESSSKIP, NOT_NULL) // M_PROCESSSKIP BIGINT NOT NULL + .addBigIntColumn(M_READ, NOT_NULL) // M_READ BIGINT NOT NULL + .addBigIntColumn(M_READSKIP, NOT_NULL) // M_READSKIP BIGINT NOT NULL + .addBigIntColumn(M_ROLLBACK, NOT_NULL) // M_ROLLBACK BIGINT NOT NULL + .addTimestampColumn(STARTTIME, NULL) // STARTTIME TIMESTAMP + .addVarcharColumn(STEPNAME, 128, NOT_NULL) // STEPNAME VARCHAR(128) NOT NULL + .addBigIntColumn(M_WRITE, NOT_NULL) // M_WRITE BIGINT NOT NULL + .addBigIntColumn(M_WRITESKIP, NOT_NULL) // M_WRITESKIP BIGINT NOT NULL + .addBigIntColumn(FK_JOBEXECID, NOT_NULL) // FK_JOBEXECID BIGINT NOT NULL + .addBigIntColumn(FK_TOPLVL_STEPEXECID, NULL) // FK_TOPLVL_STEPEXECID BIGINT + .addSmallIntColumn(ISPARTITIONEDSTEP, 0, NULL) // ISPARTITIONEDSTEP SMALLINT DEFAULT 0 + .addPrimaryKey(PK + STEPTHREADEXECUTION_TABLE, STEPEXECID) // PRIMARY KEY (STEPEXECID) + .addIndex("STE_FKJOBEXECID_IX", FK_JOBEXECID) // STE_FKJOBEXECID_IX (FK_JOBEXECID) + .addIndex("STE_FKTLSTEPEID_IX", FK_TOPLVL_STEPEXECID) // STE_FKTLSTEPEID_IX (FK_TOPLVL_STEPEXECID) + .addUniqueConstraint("STPTHRADEXECUTION0", FK_JOBEXECID, STEPNAME, PARTNUM) // STPTHRADEXECUTION0 UNIQUE (FK_JOBEXECID, STEPNAME, PARTNUM) + .addForeignKeyConstraintSelf("STPTHFKTPLVLSTPXCD", schemaName, STEPTHREADEXECUTION_TABLE, STEPEXECID, FK_TOPLVL_STEPEXECID) + // STPTHFKTPLVLSTPXCD FOREIGN KEY (FK_TOPLVL_STEPEXECID) -> REFERENCES FHIR_BATCH.STEPTHREADEXECUTION (STEPEXECID) + .addForeignKeyConstraintAltTarget("STPTHRDXCTNFKJBXCD", schemaName, JOBEXECUTION_TABLE, JOBEXECID, FK_JOBEXECID) + // STPTHRDXCTNFKJBXCD FOREIGN KEY (FK_JOBEXECID) (FK_JOBEXECID) + .addPrivileges(generateGroupPrivilege()) + .build(model); + model.addTable(stepThreadExecutionTable); + model.addObject(stepThreadExecutionTable); + } + + /** + * Adds the Remotable Partition table with the following values: + + CREATE TABLE FHIR_BATCH.REMOTABLEPARTITION ( + PARTNUM INTEGER NOT NULL, + STEPNAME VARCHAR(255) NOT NULL, + INTERNALSTATE INTEGER, + LASTUPDATED TIMESTAMP, + LOGPATH VARCHAR(512), + RESTURL VARCHAR(512), + SERVERID VARCHAR(256), + FK_JOBEXECUTIONID BIGINT NOT NULL, + FK_STEPEXECUTIONID BIGINT, + PRIMARY KEY (PARTNUM, STEPNAME, FK_JOBEXECUTIONID)) + ALTER TABLE FHIR_BATCH.REMOTABLEPARTITION ADD CONSTRAINT RMOTABLEPARTITION0 UNIQUE (FK_JOBEXECUTIONID, STEPNAME, PARTNUM) + ALTER TABLE FHIR_BATCH.REMOTABLEPARTITION ADD CONSTRAINT RMTBLPRTFKSTPXCTND FOREIGN KEY (FK_STEPEXECUTIONID) + REFERENCES FHIR_BATCH.STEPTHREADEXECUTION (STEPEXECID) + ALTER TABLE FHIR_BATCH.REMOTABLEPARTITION ADD CONSTRAINT RMTBLPRTTFKJBXCTND FOREIGN KEY (FK_JOBEXECUTIONID) + REFERENCES FHIR_BATCH.JOBEXECUTION (JOBEXECID) + + * @param model + */ + public void addRemotablePartitionTable(PhysicalDataModel model) { + Table remotablePartition = Table.builder(schemaName, REMOTABLEPARTITION_TABLE) + .addIntColumn(PARTNUM, NOT_NULL) // PARTNUM INTEGER NOT NULL + .addVarcharColumn(STEPNAME, 255, NOT_NULL) // STEPNAME VARCHAR(255) NOT NULL + .addIntColumn(INTERNALSTATE, NULL) // NTERNALSTATE INTEGER + .addTimestampColumn(LASTUPDATED, NULL) // LASTUPDATED TIMESTAMP + .addVarcharColumn(LOGPATH, 512, NULL) // LOGPATH VARCHAR(512) + .addVarcharColumn(RESTURL, 512, NULL) // RESTURL VARCHAR(512) + .addVarcharColumn(SERVERID, 256, NULL) // SERVERID VARCHAR(256) + .addBigIntColumn(FK_JOBEXECUTIONID, NOT_NULL) // FK_JOBEXECUTIONID BIGINT NOT NULL + .addBigIntColumn(FK_STEPEXECUTIONID, NOT_NULL) // FK_STEPEXECUTIONID BIGINT + .addPrimaryKey(PK + REMOTABLEPARTITION_TABLE, PARTNUM, STEPNAME, FK_JOBEXECUTIONID) + // PRIMARY KEY (PARTNUM, STEPNAME, FK_JOBEXECUTIONID) + .addForeignKeyConstraintAltTarget("RMTBLPRTFKSTPXCTND", schemaName, STEPTHREADEXECUTION_TABLE, STEPEXECID, FK_STEPEXECUTIONID) + .addForeignKeyConstraintAltTarget("RMTBLPRTTFKJBXCTND", schemaName, JOBEXECUTION_TABLE, JOBEXECID, FK_STEPEXECUTIONID) + .addUniqueConstraint("RMOTABLEPARTITION0", FK_JOBEXECUTIONID, STEPNAME, PARTNUM) + .addPrivileges(generateGroupPrivilege()) + .build(model); + model.addTable(remotablePartition); + model.addObject(remotablePartition); + } + + /** + * Adds the Job Execution table with the following values: + + CREATE TABLE FHIR_BATCH.JOBEXECUTION( + JOBEXECID BIGINT GENERATED BY DEFAULT AS IDENTITY, + BATCHSTATUS INT NOT NULL, + CREATETIME TIMESTAMP NOT NULL, + ENDTIME TIMESTAMP, + EXECNUM INT NOT NULL, + EXITSTATUS VARCHAR(2048 OCTETS) NOT NULL, + JOBPARAMETERS BLOB(2147483647) INLINE LENGTH 10240, + UPDATETIME TIMESTAMP, + LOGPATH VARCHAR(512 OCTETS), + RESTURL VARCHAR(512 OCTETS), + SERVERID VARCHAR(256 OCTETS), + STARTTIME TIMESTAMP, + FK_JOBINSTANCEID BIGINT NOT NULL, + CONSTRAINT PK_JOBEXECUTION PRIMARY KEY (JOBEXECID)) + CREATE INDEX FHIR_BATCH.JE_FKINSTANCEID_IX ON FHIR_BATCH.JOBEXECUTION (FK_JOBINSTANCEID) + ALTER TABLE FHIR_BATCH.JOBEXECUTION ADD CONSTRAINT JBXCTNFKJBNSTNCEID FOREIGN KEY (FK_JOBINSTANCEID) + REFERENCES FHIR_BATCH.JOBINSTANCE (JOBINSTANCEID) + + * @param model + */ + public void addJobExecutionTable(PhysicalDataModel model) { + Table jobInstance = Table.builder(schemaName, JOBEXECUTION_TABLE) + .addBigIntColumn(JOBEXECID, NOT_NULL) // JOBEXECID BIGINT + .setIdentityColumn(JOBEXECID, Generated.BY_DEFAULT) // GENERATED BY DEFAULT AS IDENTITY NOT NULL + .addIntColumn(BATCHSTATUS, NOT_NULL) // BATCHSTATUS INTEGER NOT NULL + .addTimestampColumn(CREATETIME, NOT_NULL) // CREATETIME TIMESTAMP NOT NULL + .addTimestampColumn(ENDTIME, NULL) // ENDTIME TIMESTAMP + .addIntColumn(EXECNUM, NOT_NULL) // EXECNUM INTEGER NOT NULL + .addVarcharColumn(EXITSTATUS, 2048, NULL) // EXITSTATUS VARCHAR(512) - Default was 512, we upped to 2048 + .addBlobColumn(JOBPARAMETERS, 2147483647, 10240, NULL) // JOBPARAMETERS BLOB(2147483647) + .addTimestampColumn(UPDATETIME, NULL) // UPDATETIME TIMESTAMP + .addVarcharColumn(LOGPATH, 512, NULL) // LOGPATH VARCHAR(512) + .addVarcharColumn(RESTURL, 512, NULL) // RESTURL VARCHAR(512) + .addVarcharColumn(SERVERID, 256, NULL) // SERVERID VARCHAR(256) + .addTimestampColumn(STARTTIME, NULL) // STARTTIME TIMESTAMP + .addBigIntColumn(FK_JOBINSTANCEID, NOT_NULL) // FK_JOBINSTANCEID BIGINT NOT NULL + .addPrimaryKey(PK + JOBEXECUTION_TABLE, JOBEXECID) // PRIMARY KEY (JOBEXECID) + .addIndex("JE_FKINSTANCEID_IX", FK_JOBINSTANCEID) // JE_FKINSTANCEID_IX (FK_JOBINSTANCEID) + .addForeignKeyConstraintAltTarget("JBXCTNFKJBNSTNCEID", schemaName, JOBINSTANCE_TABLE, JOBINSTANCEID, FK_JOBINSTANCEID) + // JBXCTNFKJBNSTNCEID (FK_JOBINSTANCEID) + .addPrivileges(generateGroupPrivilege()) + .build(model); + model.addTable(jobInstance); + model.addObject(jobInstance); + } + + /** + * Adds the Step Thread Instance table with the following values: + + CREATE TABLE FHIR_BATCH.STEPTHREADINSTANCE( + PARTNUM BIGINT NOT NULL, + STEPNAME VARCHAR(128 OCTETS) NOT NULL, + THREADTYPE VARCHAR(31 OCTETS), + CHECKPOINTDATA BLOB(2147483647) INLINE LENGTH 10240, + FK_JOBINSTANCEID BIGINT NOT NULL, + FK_LATEST_STEPEXECID BIGINT NOT NULL, + PARTITIONED SMALLINT NOT NULL, + PARTITIONPLANSIZE INT, + STARTCOUNT INT, + CONSTRAINT PK_STEPTHREADINSTANCE PRIMARY KEY (PARTNUM, STEPNAME, FK_JOBINSTANCEID)) + CREATE INDEX FHIR_BATCH.STI_FKINSTANCEID_IX ON FHIR_BATCH.STEPTHREADINSTANCE (FK_JOBINSTANCEID) + CREATE INDEX FHIR_BATCH.STI_FKLATEST_SEI_IX ON FHIR_BATCH.STEPTHREADINSTANCE (FK_LATEST_STEPEXECID) + ALTER TABLE FHIR_BATCH.STEPTHREADINSTANCE ADD CONSTRAINT STPTHRFKLTSTSTPXCD FOREIGN KEY (FK_LATEST_STEPEXECID) + REFERENCES FHIR_BATCH.STEPTHREADEXECUTION (STEPEXECID) + ALTER TABLE FHIR_BATCH.STEPTHREADINSTANCE ADD CONSTRAINT STPTHRDNFKJBNSTNCD FOREIGN KEY (FK_JOBINSTANCEID) + REFERENCES FHIR_BATCH.JOBINSTANCE (JOBINSTANCEID) + + * @param model + */ + public void addStepThreadInstanceTable(PhysicalDataModel model) { + Table jobInstance = Table.builder(schemaName, STEPTHREADINSTANCE_TABLE) + .addIntColumn(PARTNUM, NOT_NULL) // PARTNUM INTEGER NOT NULL + .addVarcharColumn(STEPNAME, 128, NOT_NULL) // STEPNAME VARCHAR(128) NOT NULL + .addVarcharColumn(THREADTYPE, 31, NULL) // THREADTYPE VARCHAR(31) + .addBlobColumn(CHECKPOINTDATA, 2147483647, 10240, NULL) // CHECKPOINTDATA BLOB(2147483647) + .addBigIntColumn(FK_JOBINSTANCEID, NOT_NULL) // FK_JOBINSTANCEID BIGINT NOT NULL + .addBigIntColumn(FK_LATEST_STEPEXECID, NOT_NULL) // FK_LATEST_STEPEXECID BIGINT NOT NULL + .addSmallIntColumn(PARTITIONED, 0, NULL) //PARTITIONED SMALLINT DEFAULT 0 NOT NULL + .addIntColumn(PARTITIONPLANSIZE, NULL) // PARTITIONPLANSIZE INTEGER + .addIntColumn(STARTCOUNT,NULL) // STARTCOUNT INTEGER + .addIndex("STI_FKINSTANCEID_IX", FK_JOBINSTANCEID) + .addIndex("STI_FKLATEST_SEI_IX", FK_LATEST_STEPEXECID) + // STPTHRFKLTSTSTPXCD (FK_LATEST_STEPEXECID) REFERENCES FHIR_JBATCH.STEPTHREADEXECUTION (STEPEXECID) + .addForeignKeyConstraintAltTarget("STPTHRFKLTSTSTPXCD", schemaName, STEPTHREADEXECUTION_TABLE, STEPEXECID, FK_LATEST_STEPEXECID) + // STPTHRDNFKJBNSTNCD (FK_JOBINSTANCEID) REFERENCES FHIR_JBATCH.JOBINSTANCE (JOBINSTANCEID) + .addForeignKeyConstraintAltTarget("STPTHRDNFKJBNSTNCD", schemaName, JOBINSTANCE_TABLE, JOBINSTANCEID, FK_JOBINSTANCEID) + .addPrimaryKey(PK + STEPTHREADINSTANCE_TABLE, PARTNUM, STEPNAME, FK_JOBINSTANCEID) + // PRIMARY KEY (PARTNUM, STEPNAME, FK_JOBINSTANCEID)) + .addPrivileges(generateGroupPrivilege()) + .build(model); + model.addTable(jobInstance); + model.addObject(jobInstance); + } + + /** + * Adds the Job Instance table with the following values: + + CREATE TABLE FHIR_BATCH.JOBINSTANCE( + JOBINSTANCEID BIGINT GENERATED BY DEFAULT AS IDENTITY, + AMCNAME VARCHAR(512 OCTETS), + BATCHSTATUS INT NOT NULL, + CREATETIME TIMESTAMP NOT NULL, + EXITSTATUS VARCHAR(2048 OCTETS), + INSTANCESTATE INT NOT NULL, + JOBNAME VARCHAR(256 OCTETS), + JOBXMLNAME VARCHAR(128 OCTETS), + JOBXML BLOB(2147483647) INLINE LENGTH 10240, + NUMEXECS INT NOT NULL, RESTARTON VARCHAR(128 OCTETS), + SUBMITTER VARCHAR(256 OCTETS), + UPDATETIME TIMESTAMP, + CONSTRAINT PK_JOBINSTANCEID PRIMARY KEY (JOBINSTANCEID) + ) + + * @param model + */ + public void addJobInstanceTable(PhysicalDataModel model) { + Table jobInstance = Table.builder(schemaName, JOBINSTANCE_TABLE) + .addBigIntColumn(JOBINSTANCEID, NOT_NULL) // JOBINSTANCEID BIGINT + .setIdentityColumn(JOBINSTANCEID, Generated.BY_DEFAULT) // GENERATED BY DEFAULT AS IDENTITY NOT NULL + .addVarcharColumn(AMCNAME, 512, NULL) // AMCNAME VARCHAR(512) + .addIntColumn(BATCHSTATUS, NOT_NULL) // BATCHSTATUS INTEGER NOT NULL + .addTimestampColumn(CREATETIME, NOT_NULL) // CREATETIME TIMESTAMP NOT NULL + // Increased the EXIT STATUS to 2048 + .addVarcharColumn(EXITSTATUS, 2048, NULL) // EXITSTATUS VARCHAR(512) + .addIntColumn(INSTANCESTATE, NOT_NULL) // INSTANCESTATE INTEGER NOT NULL + .addVarcharColumn(JOBNAME, 256, NULL) // JOBNAME VARCHAR(256) + .addVarcharColumn(JOBXMLNAME, 128, NULL) // JOBXMLNAME VARCHAR(128) + .addBlobColumn(JOBXML, 2147483647, 10240, NULL) // JOBXML BLOB(2147483647) + .addIntColumn(NUMEXECS, NOT_NULL) // NUMEXECS INTEGER NOT NULL + .addVarcharColumn(RESTARTON, 128, NULL) // RESTARTON VARCHAR(128) + .addVarcharColumn(SUBMITTER, 256, NULL) // SUBMITTER VARCHAR(256) + .addTimestampColumn(UPDATETIME, NULL) // UPDATETIME TIMESTAMP + .addPrimaryKey(PK + JOBINSTANCEID, JOBINSTANCEID) // PRIMARY KEY (JOBINSTANCEID) + .addPrivileges(generateGroupPrivilege()) + .build(model); + model.addTable(jobInstance); + model.addObject(jobInstance); + } +} \ No newline at end of file diff --git a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/OAuthSchemaGenerator.java b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/OAuthSchemaGenerator.java index 27bfd3d8978..362311889dd 100644 --- a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/OAuthSchemaGenerator.java +++ b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/control/OAuthSchemaGenerator.java @@ -8,6 +8,10 @@ import static com.ibm.fhir.schema.control.FhirSchemaConstants.PK; +import java.util.Arrays; +import java.util.List; + +import com.ibm.fhir.database.utils.model.GroupPrivilege; import com.ibm.fhir.database.utils.model.PhysicalDataModel; import com.ibm.fhir.database.utils.model.Privilege; import com.ibm.fhir.database.utils.model.Table; @@ -18,6 +22,7 @@ * https://www.ibm.com/support/knowledgecenter/SSD28V_liberty/com.ibm.websphere.wlp.core.doc/ae/twlp_oauth_dbs.html */ public class OAuthSchemaGenerator { + public static final String OAUTH_SCHEMANAME = "FHIR_OAUTH"; // The schema holding all the oauth client data private final String schemaName; @@ -51,9 +56,7 @@ public class OAuthSchemaGenerator { private static final String PROVIDERID = "PROVIDERID"; /** - * Generate the IBM FHIR Server Schema for all resourceTypes - * - * @param adminSchemaName + * sets up the OAuth Schema with the given schema. * @param schemaName */ public OAuthSchemaGenerator(String schemaName) { @@ -70,6 +73,14 @@ public void buildOAuthSchema(PhysicalDataModel model) { addConsentCacheTable(model); } + protected List generateGroupPrivilege(){ + return Arrays.asList( + new GroupPrivilege(FhirSchemaConstants.FHIR_USER_GRANT_GROUP, Privilege.SELECT), + new GroupPrivilege(FhirSchemaConstants.FHIR_USER_GRANT_GROUP, Privilege.INSERT), + new GroupPrivilege(FhirSchemaConstants.FHIR_USER_GRANT_GROUP, Privilege.DELETE), + new GroupPrivilege(FhirSchemaConstants.FHIR_USER_GRANT_GROUP, Privilege.UPDATE)); + } + protected void addCacheTable(PhysicalDataModel model) { Table cache = Table.builder(schemaName, OAUTH20CACHE) .addVarcharColumn( LOOKUPKEY, 256, false) @@ -89,7 +100,7 @@ protected void addCacheTable(PhysicalDataModel model) { .addClobColumn(EXTENDEDFIELDS, false, "{}") .addPrimaryKey(PK + LOOKUPKEY, LOOKUPKEY) .addUniqueIndex(OAUTH20CACHE + "_" + EXPIRES, EXPIRES) // ASC is the default - .addPrivilege(FhirSchemaConstants.FHIR_USER_GRANT_GROUP, Privilege.ALL) + .addPrivileges(generateGroupPrivilege()) .build(model); model.addTable(cache); @@ -106,9 +117,8 @@ protected void addClientConfigTable(PhysicalDataModel model) { .addIntColumn( ENABLED, true) .addClobColumn( CLIENTMETADATA, false, "{}") .addPrimaryKey(PK + "COMPIDCLIENTID", COMPONENTID, CLIENTID) - .addPrivilege(FhirSchemaConstants.FHIR_USER_GRANT_GROUP, Privilege.ALL) + .addPrivileges(generateGroupPrivilege()) .build(model); - model.addTable(clientConfig); model.addObject(clientConfig); } @@ -121,10 +131,9 @@ protected void addConsentCacheTable(PhysicalDataModel model) { .addVarcharColumn( SCOPE, 1024, false) .addBigIntColumn( EXPIRES, true) .addClobColumn( EXTENDEDFIELDS, false, "{}") - .addPrivilege(FhirSchemaConstants.FHIR_USER_GRANT_GROUP, Privilege.ALL) + .addPrivileges(generateGroupPrivilege()) .build(model); - model.addTable(consentCache); model.addObject(consentCache); } -} +} \ No newline at end of file diff --git a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/derby/DerbyFhirDatabase.java b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/derby/DerbyFhirDatabase.java index b73036f2a70..6bc4ca6a170 100644 --- a/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/derby/DerbyFhirDatabase.java +++ b/fhir-persistence-schema/src/main/java/com/ibm/fhir/schema/derby/DerbyFhirDatabase.java @@ -27,6 +27,7 @@ import com.ibm.fhir.database.utils.transaction.SimpleTransactionProvider; import com.ibm.fhir.database.utils.version.CreateVersionHistory; import com.ibm.fhir.database.utils.version.VersionHistoryService; +import com.ibm.fhir.schema.app.Main; import com.ibm.fhir.schema.control.FhirSchemaGenerator; import com.ibm.fhir.schema.control.PopulateParameterNames; import com.ibm.fhir.schema.control.PopulateResourceTypes; @@ -37,9 +38,10 @@ public class DerbyFhirDatabase implements AutoCloseable, IConnectionProvider { private static final Logger logger = Logger.getLogger(DerbyFhirDatabase.class.getName()); private static final String DATABASE_NAME = "derby/fhirDB"; - private static final String SCHEMA_NAME = "FHIRDATA"; - private static final String ADMIN_SCHEMA_NAME = "FHIR_ADMIN"; - private static final String OAUTH_SCHEMANAME = "FHIR_OAUTH"; + private static final String SCHEMA_NAME = Main.DATA_SCHEMANAME; + private static final String ADMIN_SCHEMA_NAME = Main.ADMIN_SCHEMANAME; + private static final String OAUTH_SCHEMANAME = Main.OAUTH_SCHEMANAME; + private static final String BATCH_SCHEMANAME = Main.BATCH_SCHEMANAME; // The translator to help us out with Derby syntax private static final IDatabaseTranslator DERBY_TRANSLATOR = new DerbyTranslator(); @@ -137,7 +139,7 @@ public VersionHistoryService createVersionHistoryService() throws SQLException { CreateVersionHistory.createTableIfNeeded(ADMIN_SCHEMA_NAME, derbyAdapter); // Current version history for the data schema - VersionHistoryService vhs = new VersionHistoryService(ADMIN_SCHEMA_NAME, SCHEMA_NAME, OAUTH_SCHEMANAME); + VersionHistoryService vhs = new VersionHistoryService(ADMIN_SCHEMA_NAME, SCHEMA_NAME, OAUTH_SCHEMANAME, BATCH_SCHEMANAME); vhs.setTransactionProvider(transactionProvider); vhs.setTarget(derbyAdapter); vhs.init(); diff --git a/fhir-persistence-schema/src/main/resources/add_any_resource.sql b/fhir-persistence-schema/src/main/resources/db2/add_any_resource.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/add_any_resource.sql rename to fhir-persistence-schema/src/main/resources/db2/add_any_resource.sql diff --git a/fhir-persistence-schema/src/main/resources/add_code_system.sql b/fhir-persistence-schema/src/main/resources/db2/add_code_system.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/add_code_system.sql rename to fhir-persistence-schema/src/main/resources/db2/add_code_system.sql diff --git a/fhir-persistence-schema/src/main/resources/add_parameter_name.sql b/fhir-persistence-schema/src/main/resources/db2/add_parameter_name.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/add_parameter_name.sql rename to fhir-persistence-schema/src/main/resources/db2/add_parameter_name.sql diff --git a/fhir-persistence-schema/src/main/resources/add_resource_type.sql b/fhir-persistence-schema/src/main/resources/db2/add_resource_type.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/add_resource_type.sql rename to fhir-persistence-schema/src/main/resources/db2/add_resource_type.sql diff --git a/fhir-persistence-schema/src/main/resources/set_tenant.sql b/fhir-persistence-schema/src/main/resources/db2/set_tenant.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/set_tenant.sql rename to fhir-persistence-schema/src/main/resources/db2/set_tenant.sql diff --git a/fhir-persistence-schema/src/main/resources/add_any_resource_postgresql.sql b/fhir-persistence-schema/src/main/resources/postgres/add_any_resource.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/add_any_resource_postgresql.sql rename to fhir-persistence-schema/src/main/resources/postgres/add_any_resource.sql diff --git a/fhir-persistence-schema/src/main/resources/add_code_system_postgresql.sql b/fhir-persistence-schema/src/main/resources/postgres/add_code_system.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/add_code_system_postgresql.sql rename to fhir-persistence-schema/src/main/resources/postgres/add_code_system.sql diff --git a/fhir-persistence-schema/src/main/resources/add_parameter_name_postgresql.sql b/fhir-persistence-schema/src/main/resources/postgres/add_parameter_name.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/add_parameter_name_postgresql.sql rename to fhir-persistence-schema/src/main/resources/postgres/add_parameter_name.sql diff --git a/fhir-persistence-schema/src/main/resources/add_resource_type_postgresql.sql b/fhir-persistence-schema/src/main/resources/postgres/add_resource_type.sql similarity index 100% rename from fhir-persistence-schema/src/main/resources/add_resource_type_postgresql.sql rename to fhir-persistence-schema/src/main/resources/postgres/add_resource_type.sql diff --git a/fhir-persistence-schema/src/main/resources/simple_resource.sql b/fhir-persistence-schema/src/main/resources/simple_resource.sql deleted file mode 100644 index b0247f11701..00000000000 --- a/fhir-persistence-schema/src/main/resources/simple_resource.sql +++ /dev/null @@ -1,20 +0,0 @@ -CREATE OR REPLACE PROCEDURE PTNG.simple_resource -------------------------------------------------------------------------------- --- (C) Copyright IBM Corp. 2016, 2019 --- --- SPDX-License-Identifier: Apache-2.0 -------------------------------------------------------------------------------- - ( IN p_resource_type VARCHAR( 32 OCTETS), - IN p_logical_id VARCHAR(255 OCTETS) - ) - LANGUAGE SQL - MODIFIES SQL DATA -BEGIN - - DECLARE stmt STATEMENT; - DECLARE v_logical_resource_id BIGINT DEFAULT NULL; - DECLARE v_current_resource_id BIGINT DEFAULT NULL; - - PREPARE stmt FROM 'SELECT logical_resource_id, current_resource_id FROM PTNG.patient_logical_resources WHERE logical_id = ? FOR UPDATE WITH RS'; - EXECUTE stmt INTO v_logical_resource_id, v_current_resource_id USING p_logical_id; -END diff --git a/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/app/JavaBatchSchemaGeneratorTest.java b/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/app/JavaBatchSchemaGeneratorTest.java new file mode 100644 index 00000000000..a551114fdfe --- /dev/null +++ b/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/app/JavaBatchSchemaGeneratorTest.java @@ -0,0 +1,3450 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.schema.app; + +import static org.testng.Assert.assertEquals; + +import java.io.InputStream; +import java.io.Reader; +import java.math.BigDecimal; +import java.net.URL; +import java.sql.Array; +import java.sql.Blob; +import java.sql.CallableStatement; +import java.sql.Clob; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.Date; +import java.sql.NClob; +import java.sql.ParameterMetaData; +import java.sql.PreparedStatement; +import java.sql.Ref; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.RowId; +import java.sql.SQLClientInfoException; +import java.sql.SQLException; +import java.sql.SQLWarning; +import java.sql.SQLXML; +import java.sql.Savepoint; +import java.sql.Statement; +import java.sql.Struct; +import java.sql.Time; +import java.sql.Timestamp; +import java.util.Calendar; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Properties; +import java.util.concurrent.Executor; + +import org.testng.annotations.Test; + +import com.ibm.fhir.database.utils.common.JdbcTarget; +import com.ibm.fhir.database.utils.db2.Db2Adapter; +import com.ibm.fhir.database.utils.model.PhysicalDataModel; +import com.ibm.fhir.database.utils.postgresql.PostgreSqlAdapter; +import com.ibm.fhir.database.utils.version.CreateVersionHistory; +import com.ibm.fhir.database.utils.version.VersionHistoryService; +import com.ibm.fhir.schema.control.JavaBatchSchemaGenerator; + +public class JavaBatchSchemaGeneratorTest { + private Boolean DEBUG = Boolean.FALSE; + + @Test + public void testJavaBatchSchemaGeneratorDb2() { + PrintConnection connection = new PrintConnection(); + JdbcTarget target = new JdbcTarget(connection); + Db2Adapter adapter = new Db2Adapter(target); + + // Set up the version history service first if it doesn't yet exist + CreateVersionHistory.createTableIfNeeded(Main.ADMIN_SCHEMANAME, adapter); + + // Current version history for the database. This is used by applyWithHistory + // to determine which updates to apply and to record the new changes as they + // are applied + VersionHistoryService vhs = new VersionHistoryService(Main.ADMIN_SCHEMANAME, Main.DATA_SCHEMANAME, Main.OAUTH_SCHEMANAME, Main.BATCH_SCHEMANAME); + vhs.setTarget(adapter); + + PhysicalDataModel pdm = new PhysicalDataModel(); + JavaBatchSchemaGenerator generator = new JavaBatchSchemaGenerator(Main.BATCH_SCHEMANAME); + generator.buildJavaBatchSchema(pdm); + pdm.apply(adapter); + pdm.applyFunctions(adapter); + pdm.applyProcedures(adapter); + + if (DEBUG) { + for (Entry command : commands.entrySet()) { + System.out.println(command.getKey() + ";"); + } + } + assertEquals(commands.size(), 23); + commands.clear(); + } + + @Test(dependsOnMethods = { "testJavaBatchSchemaGeneratorDb2" }) + public void testJavaBatchSchemaGeneratorPostgres() { + PrintConnection connection = new PrintConnection(); + JdbcTarget target = new JdbcTarget(connection); + PostgreSqlAdapter adapter = new PostgreSqlAdapter(target); + + // Set up the version history service first if it doesn't yet exist + CreateVersionHistory.createTableIfNeeded(Main.ADMIN_SCHEMANAME, adapter); + + // Current version history for the database. This is used by applyWithHistory + // to determine which updates to apply and to record the new changes as they + // are applied + VersionHistoryService vhs = new VersionHistoryService(Main.ADMIN_SCHEMANAME, Main.DATA_SCHEMANAME, Main.OAUTH_SCHEMANAME, Main.BATCH_SCHEMANAME); + vhs.setTarget(adapter); + + PhysicalDataModel pdm = new PhysicalDataModel(); + JavaBatchSchemaGenerator generator = new JavaBatchSchemaGenerator(Main.BATCH_SCHEMANAME); + generator.buildJavaBatchSchema(pdm); + pdm.apply(adapter); + pdm.applyFunctions(adapter); + + if (DEBUG) { + for (Entry command : commands.entrySet()) { + System.out.println(command.getKey() + ";"); + } + } + + assertEquals(commands.size(), 24); + commands.clear(); + } + + // Map is used so we can split by type if we wanted. LinkedHashSet is also OK. + private Map commands = new LinkedHashMap<>(); + private Map storedProceduresCommands = new LinkedHashMap<>(); + + /** + * process each sql so it can be 'cleaned' before putting into the linked map. + */ + public void addCommand(String sql) { + // Ignore SELECT statements + if (!sql.startsWith("SELECT")) { + if (sql.startsWith(" ")) { + int idx = 0; + while (idx < sql.length() && sql.charAt(idx) == ' ') { + idx++; + } + sql = sql.substring(idx); + } + + // Create or Replace the stored procedure + if (sql.startsWith("CREATE OR REPLACE PROCEDURE ")) { + storedProceduresCommands.put(sql, sql); + } else { + commands.put(sql, sql); + } + } + } + + /* + * The following classes are 'dummy implementations' that enable printing of the SQL. + */ + public class PrintConnection implements java.sql.Connection { + + @Override + public T unwrap(Class iface) throws SQLException { + + return null; + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + + return false; + } + + @Override + public Statement createStatement() throws SQLException { + return new PrintStatement(); + } + + @Override + public PreparedStatement prepareStatement(String sql) throws SQLException { + addCommand(sql); + return new PrintPreparedStatement(); + } + + @Override + public CallableStatement prepareCall(String sql) throws SQLException { + addCommand(sql); + return new PrintCallableStatement(); + } + + @Override + public String nativeSQL(String sql) throws SQLException { + return null; + } + + @Override + public void setAutoCommit(boolean autoCommit) throws SQLException { + + } + + @Override + public boolean getAutoCommit() throws SQLException { + return false; + } + + @Override + public void commit() throws SQLException { + + } + + @Override + public void rollback() throws SQLException { + + } + + @Override + public void close() throws SQLException { + + } + + @Override + public boolean isClosed() throws SQLException { + return false; + } + + @Override + public DatabaseMetaData getMetaData() throws SQLException { + return null; + } + + @Override + public void setReadOnly(boolean readOnly) throws SQLException { + + } + + @Override + public boolean isReadOnly() throws SQLException { + return false; + } + + @Override + public void setCatalog(String catalog) throws SQLException { + + } + + @Override + public String getCatalog() throws SQLException { + return null; + } + + @Override + public void setTransactionIsolation(int level) throws SQLException { + + } + + @Override + public int getTransactionIsolation() throws SQLException { + return 0; + } + + @Override + public SQLWarning getWarnings() throws SQLException { + + return null; + } + + @Override + public void clearWarnings() throws SQLException { + + } + + @Override + public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException { + + return null; + } + + @Override + public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { + return new PrintPreparedStatement(); + } + + @Override + public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { + + return null; + } + + @Override + public Map> getTypeMap() throws SQLException { + + return null; + } + + @Override + public void setTypeMap(Map> map) throws SQLException { + + } + + @Override + public void setHoldability(int holdability) throws SQLException { + + } + + @Override + public int getHoldability() throws SQLException { + + return 0; + } + + @Override + public Savepoint setSavepoint() throws SQLException { + + return null; + } + + @Override + public Savepoint setSavepoint(String name) throws SQLException { + + return null; + } + + @Override + public void rollback(Savepoint savepoint) throws SQLException { + + } + + @Override + public void releaseSavepoint(Savepoint savepoint) throws SQLException { + + } + + @Override + public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { + + return null; + } + + @Override + public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { + + return null; + } + + @Override + public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { + + return null; + } + + @Override + public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException { + + return null; + } + + @Override + public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException { + + return null; + } + + @Override + public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException { + + return null; + } + + @Override + public Clob createClob() throws SQLException { + + return null; + } + + @Override + public Blob createBlob() throws SQLException { + + return null; + } + + @Override + public NClob createNClob() throws SQLException { + + return null; + } + + @Override + public SQLXML createSQLXML() throws SQLException { + + return null; + } + + @Override + public boolean isValid(int timeout) throws SQLException { + + return false; + } + + @Override + public void setClientInfo(String name, String value) throws SQLClientInfoException { + + } + + @Override + public void setClientInfo(Properties properties) throws SQLClientInfoException { + + } + + @Override + public String getClientInfo(String name) throws SQLException { + + return null; + } + + @Override + public Properties getClientInfo() throws SQLException { + + return null; + } + + @Override + public Array createArrayOf(String typeName, Object[] elements) throws SQLException { + + return null; + } + + @Override + public Struct createStruct(String typeName, Object[] attributes) throws SQLException { + + return null; + } + + @Override + public void setSchema(String schema) throws SQLException { + + } + + @Override + public String getSchema() throws SQLException { + + return null; + } + + @Override + public void abort(Executor executor) throws SQLException { + + } + + @Override + public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException { + + } + + @Override + public int getNetworkTimeout() throws SQLException { + + return 0; + } + + } + + class PrintPreparedStatement implements java.sql.PreparedStatement { + + @Override + public ResultSet executeQuery(String sql) throws SQLException { + addCommand(sql); + return new PrintResultSet(); + } + + @Override + public int executeUpdate(String sql) throws SQLException { + addCommand(sql); + return 0; + } + + @Override + public void close() throws SQLException { + + } + + @Override + public int getMaxFieldSize() throws SQLException { + + return 0; + } + + @Override + public void setMaxFieldSize(int max) throws SQLException { + + } + + @Override + public int getMaxRows() throws SQLException { + + return 0; + } + + @Override + public void setMaxRows(int max) throws SQLException { + + } + + @Override + public void setEscapeProcessing(boolean enable) throws SQLException { + + } + + @Override + public int getQueryTimeout() throws SQLException { + + return 0; + } + + @Override + public void setQueryTimeout(int seconds) throws SQLException { + + } + + @Override + public void cancel() throws SQLException { + + } + + @Override + public SQLWarning getWarnings() throws SQLException { + + return null; + } + + @Override + public void clearWarnings() throws SQLException { + + } + + @Override + public void setCursorName(String name) throws SQLException { + + } + + @Override + public boolean execute(String sql) throws SQLException { + + return false; + } + + @Override + public ResultSet getResultSet() throws SQLException { + + return null; + } + + @Override + public int getUpdateCount() throws SQLException { + + return 0; + } + + @Override + public boolean getMoreResults() throws SQLException { + + return false; + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + + } + + @Override + public int getFetchDirection() throws SQLException { + + return 0; + } + + @Override + public void setFetchSize(int rows) throws SQLException { + + } + + @Override + public int getFetchSize() throws SQLException { + + return 0; + } + + @Override + public int getResultSetConcurrency() throws SQLException { + + return 0; + } + + @Override + public int getResultSetType() throws SQLException { + + return 0; + } + + @Override + public void addBatch(String sql) throws SQLException { + + } + + @Override + public void clearBatch() throws SQLException { + + } + + @Override + public int[] executeBatch() throws SQLException { + + return null; + } + + @Override + public Connection getConnection() throws SQLException { + + return null; + } + + @Override + public boolean getMoreResults(int current) throws SQLException { + + return false; + } + + @Override + public ResultSet getGeneratedKeys() throws SQLException { + + return null; + } + + @Override + public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException { + + return 0; + } + + @Override + public int executeUpdate(String sql, int[] columnIndexes) throws SQLException { + + return 0; + } + + @Override + public int executeUpdate(String sql, String[] columnNames) throws SQLException { + addCommand(sql); + return 0; + } + + @Override + public boolean execute(String sql, int autoGeneratedKeys) throws SQLException { + addCommand(sql); + return false; + } + + @Override + public boolean execute(String sql, int[] columnIndexes) throws SQLException { + addCommand(sql); + return false; + } + + @Override + public boolean execute(String sql, String[] columnNames) throws SQLException { + addCommand(sql); + return false; + } + + @Override + public int getResultSetHoldability() throws SQLException { + + return 0; + } + + @Override + public boolean isClosed() throws SQLException { + + return false; + } + + @Override + public void setPoolable(boolean poolable) throws SQLException { + + } + + @Override + public boolean isPoolable() throws SQLException { + + return false; + } + + @Override + public void closeOnCompletion() throws SQLException { + + } + + @Override + public boolean isCloseOnCompletion() throws SQLException { + + return false; + } + + @Override + public T unwrap(Class iface) throws SQLException { + + return null; + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + + return false; + } + + @Override + public ResultSet executeQuery() throws SQLException { + + return new PrintResultSet(); + } + + @Override + public int executeUpdate() throws SQLException { + + return 0; + } + + @Override + public void setNull(int parameterIndex, int sqlType) throws SQLException { + + } + + @Override + public void setBoolean(int parameterIndex, boolean x) throws SQLException { + + } + + @Override + public void setByte(int parameterIndex, byte x) throws SQLException { + + } + + @Override + public void setShort(int parameterIndex, short x) throws SQLException { + + } + + @Override + public void setInt(int parameterIndex, int x) throws SQLException { + + } + + @Override + public void setLong(int parameterIndex, long x) throws SQLException { + + } + + @Override + public void setFloat(int parameterIndex, float x) throws SQLException { + + } + + @Override + public void setDouble(int parameterIndex, double x) throws SQLException { + + } + + @Override + public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException { + + } + + @Override + public void setString(int parameterIndex, String x) throws SQLException { + + } + + @Override + public void setBytes(int parameterIndex, byte[] x) throws SQLException { + + } + + @Override + public void setDate(int parameterIndex, Date x) throws SQLException { + + } + + @Override + public void setTime(int parameterIndex, Time x) throws SQLException { + + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException { + + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException { + + } + + @Override + public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException { + + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException { + + } + + @Override + public void clearParameters() throws SQLException { + + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException { + + } + + @Override + public void setObject(int parameterIndex, Object x) throws SQLException { + + } + + @Override + public boolean execute() throws SQLException { + + return false; + } + + @Override + public void addBatch() throws SQLException { + + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException { + + } + + @Override + public void setRef(int parameterIndex, Ref x) throws SQLException { + + } + + @Override + public void setBlob(int parameterIndex, Blob x) throws SQLException { + + } + + @Override + public void setClob(int parameterIndex, Clob x) throws SQLException { + + } + + @Override + public void setArray(int parameterIndex, Array x) throws SQLException { + + } + + @Override + public ResultSetMetaData getMetaData() throws SQLException { + + return null; + } + + @Override + public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException { + + } + + @Override + public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException { + + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException { + + } + + @Override + public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException { + + } + + @Override + public void setURL(int parameterIndex, URL x) throws SQLException { + + } + + @Override + public ParameterMetaData getParameterMetaData() throws SQLException { + + return null; + } + + @Override + public void setRowId(int parameterIndex, RowId x) throws SQLException { + + } + + @Override + public void setNString(int parameterIndex, String value) throws SQLException { + + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { + + } + + @Override + public void setNClob(int parameterIndex, NClob value) throws SQLException { + + } + + @Override + public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { + + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { + + } + + @Override + public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { + + } + + @Override + public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { + + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException { + + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException { + + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException { + + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException { + + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { + + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { + + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { + + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { + + } + + @Override + public void setClob(int parameterIndex, Reader reader) throws SQLException { + + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { + + } + + @Override + public void setNClob(int parameterIndex, Reader reader) throws SQLException { + + } + + } + + class PrintStatement implements java.sql.Statement { + + @Override + public T unwrap(Class iface) throws SQLException { + + return null; + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + + return false; + } + + @Override + public ResultSet executeQuery(String sql) throws SQLException { + addCommand(sql); + return new PrintResultSet(); + } + + @Override + public int executeUpdate(String sql) throws SQLException { + addCommand(sql); + return 0; + } + + @Override + public void close() throws SQLException { + + } + + @Override + public int getMaxFieldSize() throws SQLException { + + return 0; + } + + @Override + public void setMaxFieldSize(int max) throws SQLException { + + } + + @Override + public int getMaxRows() throws SQLException { + + return 0; + } + + @Override + public void setMaxRows(int max) throws SQLException { + + } + + @Override + public void setEscapeProcessing(boolean enable) throws SQLException { + + } + + @Override + public int getQueryTimeout() throws SQLException { + + return 0; + } + + @Override + public void setQueryTimeout(int seconds) throws SQLException { + + } + + @Override + public void cancel() throws SQLException { + + } + + @Override + public SQLWarning getWarnings() throws SQLException { + + return null; + } + + @Override + public void clearWarnings() throws SQLException { + + } + + @Override + public void setCursorName(String name) throws SQLException { + + } + + @Override + public boolean execute(String sql) throws SQLException { + + return false; + } + + @Override + public ResultSet getResultSet() throws SQLException { + + return null; + } + + @Override + public int getUpdateCount() throws SQLException { + + return 0; + } + + @Override + public boolean getMoreResults() throws SQLException { + + return false; + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + + } + + @Override + public int getFetchDirection() throws SQLException { + + return 0; + } + + @Override + public void setFetchSize(int rows) throws SQLException { + + } + + @Override + public int getFetchSize() throws SQLException { + + return 0; + } + + @Override + public int getResultSetConcurrency() throws SQLException { + + return 0; + } + + @Override + public int getResultSetType() throws SQLException { + + return 0; + } + + @Override + public void addBatch(String sql) throws SQLException { + + } + + @Override + public void clearBatch() throws SQLException { + + } + + @Override + public int[] executeBatch() throws SQLException { + + return null; + } + + @Override + public Connection getConnection() throws SQLException { + + return null; + } + + @Override + public boolean getMoreResults(int current) throws SQLException { + + return false; + } + + @Override + public ResultSet getGeneratedKeys() throws SQLException { + + return null; + } + + @Override + public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException { + + return 0; + } + + @Override + public int executeUpdate(String sql, int[] columnIndexes) throws SQLException { + + return 0; + } + + @Override + public int executeUpdate(String sql, String[] columnNames) throws SQLException { + + return 0; + } + + @Override + public boolean execute(String sql, int autoGeneratedKeys) throws SQLException { + + return false; + } + + @Override + public boolean execute(String sql, int[] columnIndexes) throws SQLException { + + return false; + } + + @Override + public boolean execute(String sql, String[] columnNames) throws SQLException { + + return false; + } + + @Override + public int getResultSetHoldability() throws SQLException { + + return 0; + } + + @Override + public boolean isClosed() throws SQLException { + + return false; + } + + @Override + public void setPoolable(boolean poolable) throws SQLException { + + } + + @Override + public boolean isPoolable() throws SQLException { + + return false; + } + + @Override + public void closeOnCompletion() throws SQLException { + + } + + @Override + public boolean isCloseOnCompletion() throws SQLException { + + return false; + } + + } + + class PrintResultSet implements java.sql.ResultSet { + + @Override + public T unwrap(Class iface) throws SQLException { + return null; + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + return false; + } + + @Override + public boolean next() throws SQLException { + return true; + } + + @Override + public void close() throws SQLException { + + } + + @Override + public boolean wasNull() throws SQLException { + return false; + } + + @Override + public String getString(int columnIndex) throws SQLException { + return null; + } + + @Override + public boolean getBoolean(int columnIndex) throws SQLException { + + return false; + } + + @Override + public byte getByte(int columnIndex) throws SQLException { + + return 0; + } + + @Override + public short getShort(int columnIndex) throws SQLException { + + return 0; + } + + @Override + public int getInt(int columnIndex) throws SQLException { + + return 0; + } + + @Override + public long getLong(int columnIndex) throws SQLException { + + return 0; + } + + @Override + public float getFloat(int columnIndex) throws SQLException { + + return 0; + } + + @Override + public double getDouble(int columnIndex) throws SQLException { + + return 0; + } + + @Override + public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException { + + return null; + } + + @Override + public byte[] getBytes(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Date getDate(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Time getTime(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Timestamp getTimestamp(int columnIndex) throws SQLException { + + return null; + } + + @Override + public InputStream getAsciiStream(int columnIndex) throws SQLException { + + return null; + } + + @Override + public InputStream getUnicodeStream(int columnIndex) throws SQLException { + + return null; + } + + @Override + public InputStream getBinaryStream(int columnIndex) throws SQLException { + + return null; + } + + @Override + public String getString(String columnLabel) throws SQLException { + + return null; + } + + @Override + public boolean getBoolean(String columnLabel) throws SQLException { + + return false; + } + + @Override + public byte getByte(String columnLabel) throws SQLException { + + return 0; + } + + @Override + public short getShort(String columnLabel) throws SQLException { + + return 0; + } + + @Override + public int getInt(String columnLabel) throws SQLException { + + return 0; + } + + @Override + public long getLong(String columnLabel) throws SQLException { + + return 0; + } + + @Override + public float getFloat(String columnLabel) throws SQLException { + + return 0; + } + + @Override + public double getDouble(String columnLabel) throws SQLException { + + return 0; + } + + @Override + public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException { + + return null; + } + + @Override + public byte[] getBytes(String columnLabel) throws SQLException { + + return null; + } + + @Override + public Date getDate(String columnLabel) throws SQLException { + + return null; + } + + @Override + public Time getTime(String columnLabel) throws SQLException { + + return null; + } + + @Override + public Timestamp getTimestamp(String columnLabel) throws SQLException { + + return null; + } + + @Override + public InputStream getAsciiStream(String columnLabel) throws SQLException { + + return null; + } + + @Override + public InputStream getUnicodeStream(String columnLabel) throws SQLException { + + return null; + } + + @Override + public InputStream getBinaryStream(String columnLabel) throws SQLException { + + return null; + } + + @Override + public SQLWarning getWarnings() throws SQLException { + + return null; + } + + @Override + public void clearWarnings() throws SQLException { + + } + + @Override + public String getCursorName() throws SQLException { + + return null; + } + + @Override + public ResultSetMetaData getMetaData() throws SQLException { + + return null; + } + + @Override + public Object getObject(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Object getObject(String columnLabel) throws SQLException { + + return null; + } + + @Override + public int findColumn(String columnLabel) throws SQLException { + + return 0; + } + + @Override + public Reader getCharacterStream(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Reader getCharacterStream(String columnLabel) throws SQLException { + + return null; + } + + @Override + public BigDecimal getBigDecimal(int columnIndex) throws SQLException { + + return null; + } + + @Override + public BigDecimal getBigDecimal(String columnLabel) throws SQLException { + + return null; + } + + @Override + public boolean isBeforeFirst() throws SQLException { + + return false; + } + + @Override + public boolean isAfterLast() throws SQLException { + + return false; + } + + @Override + public boolean isFirst() throws SQLException { + + return false; + } + + @Override + public boolean isLast() throws SQLException { + + return false; + } + + @Override + public void beforeFirst() throws SQLException { + + } + + @Override + public void afterLast() throws SQLException { + + } + + @Override + public boolean first() throws SQLException { + + return false; + } + + @Override + public boolean last() throws SQLException { + + return false; + } + + @Override + public int getRow() throws SQLException { + + return 0; + } + + @Override + public boolean absolute(int row) throws SQLException { + + return false; + } + + @Override + public boolean relative(int rows) throws SQLException { + + return false; + } + + @Override + public boolean previous() throws SQLException { + + return false; + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + + } + + @Override + public int getFetchDirection() throws SQLException { + + return 0; + } + + @Override + public void setFetchSize(int rows) throws SQLException { + + } + + @Override + public int getFetchSize() throws SQLException { + + return 0; + } + + @Override + public int getType() throws SQLException { + + return 0; + } + + @Override + public int getConcurrency() throws SQLException { + + return 0; + } + + @Override + public boolean rowUpdated() throws SQLException { + + return false; + } + + @Override + public boolean rowInserted() throws SQLException { + + return false; + } + + @Override + public boolean rowDeleted() throws SQLException { + + return false; + } + + @Override + public void updateNull(int columnIndex) throws SQLException { + + } + + @Override + public void updateBoolean(int columnIndex, boolean x) throws SQLException { + + } + + @Override + public void updateByte(int columnIndex, byte x) throws SQLException { + + } + + @Override + public void updateShort(int columnIndex, short x) throws SQLException { + + } + + @Override + public void updateInt(int columnIndex, int x) throws SQLException { + + } + + @Override + public void updateLong(int columnIndex, long x) throws SQLException { + + } + + @Override + public void updateFloat(int columnIndex, float x) throws SQLException { + + } + + @Override + public void updateDouble(int columnIndex, double x) throws SQLException { + + } + + @Override + public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException { + + } + + @Override + public void updateString(int columnIndex, String x) throws SQLException { + + } + + @Override + public void updateBytes(int columnIndex, byte[] x) throws SQLException { + + } + + @Override + public void updateDate(int columnIndex, Date x) throws SQLException { + + } + + @Override + public void updateTime(int columnIndex, Time x) throws SQLException { + + } + + @Override + public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException { + + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException { + + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException { + + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException { + + } + + @Override + public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException { + + } + + @Override + public void updateObject(int columnIndex, Object x) throws SQLException { + + } + + @Override + public void updateNull(String columnLabel) throws SQLException { + + } + + @Override + public void updateBoolean(String columnLabel, boolean x) throws SQLException { + + } + + @Override + public void updateByte(String columnLabel, byte x) throws SQLException { + + } + + @Override + public void updateShort(String columnLabel, short x) throws SQLException { + + } + + @Override + public void updateInt(String columnLabel, int x) throws SQLException { + + } + + @Override + public void updateLong(String columnLabel, long x) throws SQLException { + + } + + @Override + public void updateFloat(String columnLabel, float x) throws SQLException { + + } + + @Override + public void updateDouble(String columnLabel, double x) throws SQLException { + + } + + @Override + public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException { + + } + + @Override + public void updateString(String columnLabel, String x) throws SQLException { + + } + + @Override + public void updateBytes(String columnLabel, byte[] x) throws SQLException { + + } + + @Override + public void updateDate(String columnLabel, Date x) throws SQLException { + + } + + @Override + public void updateTime(String columnLabel, Time x) throws SQLException { + + } + + @Override + public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException { + + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException { + + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException { + + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException { + + } + + @Override + public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException { + + } + + @Override + public void updateObject(String columnLabel, Object x) throws SQLException { + + } + + @Override + public void insertRow() throws SQLException { + + } + + @Override + public void updateRow() throws SQLException { + + } + + @Override + public void deleteRow() throws SQLException { + + } + + @Override + public void refreshRow() throws SQLException { + + } + + @Override + public void cancelRowUpdates() throws SQLException { + + } + + @Override + public void moveToInsertRow() throws SQLException { + + } + + @Override + public void moveToCurrentRow() throws SQLException { + + } + + @Override + public Statement getStatement() throws SQLException { + + return null; + } + + @Override + public Object getObject(int columnIndex, Map> map) throws SQLException { + + return null; + } + + @Override + public Ref getRef(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Blob getBlob(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Clob getClob(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Array getArray(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Object getObject(String columnLabel, Map> map) throws SQLException { + + return null; + } + + @Override + public Ref getRef(String columnLabel) throws SQLException { + + return null; + } + + @Override + public Blob getBlob(String columnLabel) throws SQLException { + + return null; + } + + @Override + public Clob getClob(String columnLabel) throws SQLException { + + return null; + } + + @Override + public Array getArray(String columnLabel) throws SQLException { + + return null; + } + + @Override + public Date getDate(int columnIndex, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Date getDate(String columnLabel, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Time getTime(int columnIndex, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Time getTime(String columnLabel, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException { + + return null; + } + + @Override + public URL getURL(int columnIndex) throws SQLException { + + return null; + } + + @Override + public URL getURL(String columnLabel) throws SQLException { + + return null; + } + + @Override + public void updateRef(int columnIndex, Ref x) throws SQLException { + + } + + @Override + public void updateRef(String columnLabel, Ref x) throws SQLException { + + } + + @Override + public void updateBlob(int columnIndex, Blob x) throws SQLException { + + } + + @Override + public void updateBlob(String columnLabel, Blob x) throws SQLException { + + } + + @Override + public void updateClob(int columnIndex, Clob x) throws SQLException { + + } + + @Override + public void updateClob(String columnLabel, Clob x) throws SQLException { + + } + + @Override + public void updateArray(int columnIndex, Array x) throws SQLException { + + } + + @Override + public void updateArray(String columnLabel, Array x) throws SQLException { + + } + + @Override + public RowId getRowId(int columnIndex) throws SQLException { + + return null; + } + + @Override + public RowId getRowId(String columnLabel) throws SQLException { + + return null; + } + + @Override + public void updateRowId(int columnIndex, RowId x) throws SQLException { + + } + + @Override + public void updateRowId(String columnLabel, RowId x) throws SQLException { + + } + + @Override + public int getHoldability() throws SQLException { + + return 0; + } + + @Override + public boolean isClosed() throws SQLException { + + return false; + } + + @Override + public void updateNString(int columnIndex, String nString) throws SQLException { + + } + + @Override + public void updateNString(String columnLabel, String nString) throws SQLException { + + } + + @Override + public void updateNClob(int columnIndex, NClob nClob) throws SQLException { + + } + + @Override + public void updateNClob(String columnLabel, NClob nClob) throws SQLException { + + } + + @Override + public NClob getNClob(int columnIndex) throws SQLException { + + return null; + } + + @Override + public NClob getNClob(String columnLabel) throws SQLException { + + return null; + } + + @Override + public SQLXML getSQLXML(int columnIndex) throws SQLException { + + return null; + } + + @Override + public SQLXML getSQLXML(String columnLabel) throws SQLException { + + return null; + } + + @Override + public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException { + + } + + @Override + public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException { + + } + + @Override + public String getNString(int columnIndex) throws SQLException { + + return null; + } + + @Override + public String getNString(String columnLabel) throws SQLException { + + return null; + } + + @Override + public Reader getNCharacterStream(int columnIndex) throws SQLException { + + return null; + } + + @Override + public Reader getNCharacterStream(String columnLabel) throws SQLException { + + return null; + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException { + + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException { + + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException { + + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException { + + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException { + + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException { + + } + + @Override + public void updateClob(int columnIndex, Reader reader, long length) throws SQLException { + + } + + @Override + public void updateClob(String columnLabel, Reader reader, long length) throws SQLException { + + } + + @Override + public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException { + + } + + @Override + public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException { + + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException { + + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException { + + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException { + + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException { + + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x) throws SQLException { + + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException { + + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException { + + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException { + + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException { + + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException { + + } + + @Override + public void updateClob(int columnIndex, Reader reader) throws SQLException { + + } + + @Override + public void updateClob(String columnLabel, Reader reader) throws SQLException { + + } + + @Override + public void updateNClob(int columnIndex, Reader reader) throws SQLException { + + } + + @Override + public void updateNClob(String columnLabel, Reader reader) throws SQLException { + + } + + @Override + public T getObject(int columnIndex, Class type) throws SQLException { + + return null; + } + + @Override + public T getObject(String columnLabel, Class type) throws SQLException { + + return null; + } + + } + + class PrintCallableStatement implements java.sql.CallableStatement { + + @Override + public ResultSet executeQuery() throws SQLException { + return new PrintResultSet(); + } + + @Override + public int executeUpdate() throws SQLException { + + return 0; + } + + @Override + public void setNull(int parameterIndex, int sqlType) throws SQLException { + + } + + @Override + public void setBoolean(int parameterIndex, boolean x) throws SQLException { + + } + + @Override + public void setByte(int parameterIndex, byte x) throws SQLException { + + } + + @Override + public void setShort(int parameterIndex, short x) throws SQLException { + + } + + @Override + public void setInt(int parameterIndex, int x) throws SQLException { + + } + + @Override + public void setLong(int parameterIndex, long x) throws SQLException { + + } + + @Override + public void setFloat(int parameterIndex, float x) throws SQLException { + + } + + @Override + public void setDouble(int parameterIndex, double x) throws SQLException { + + } + + @Override + public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException { + + } + + @Override + public void setString(int parameterIndex, String x) throws SQLException { + + } + + @Override + public void setBytes(int parameterIndex, byte[] x) throws SQLException { + + } + + @Override + public void setDate(int parameterIndex, Date x) throws SQLException { + + } + + @Override + public void setTime(int parameterIndex, Time x) throws SQLException { + + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException { + + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException { + + } + + @Override + public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException { + + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException { + + } + + @Override + public void clearParameters() throws SQLException { + + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException { + + } + + @Override + public void setObject(int parameterIndex, Object x) throws SQLException { + + } + + @Override + public boolean execute() throws SQLException { + + return false; + } + + @Override + public void addBatch() throws SQLException { + + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException { + + } + + @Override + public void setRef(int parameterIndex, Ref x) throws SQLException { + + } + + @Override + public void setBlob(int parameterIndex, Blob x) throws SQLException { + + } + + @Override + public void setClob(int parameterIndex, Clob x) throws SQLException { + + } + + @Override + public void setArray(int parameterIndex, Array x) throws SQLException { + + } + + @Override + public ResultSetMetaData getMetaData() throws SQLException { + + return null; + } + + @Override + public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException { + + } + + @Override + public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException { + + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException { + + } + + @Override + public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException { + + } + + @Override + public void setURL(int parameterIndex, URL x) throws SQLException { + + } + + @Override + public ParameterMetaData getParameterMetaData() throws SQLException { + + return null; + } + + @Override + public void setRowId(int parameterIndex, RowId x) throws SQLException { + + } + + @Override + public void setNString(int parameterIndex, String value) throws SQLException { + + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { + + } + + @Override + public void setNClob(int parameterIndex, NClob value) throws SQLException { + + } + + @Override + public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { + + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { + + } + + @Override + public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { + + } + + @Override + public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { + + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException { + + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException { + + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException { + + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException { + + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { + + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { + + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { + + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { + + } + + @Override + public void setClob(int parameterIndex, Reader reader) throws SQLException { + + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { + + } + + @Override + public void setNClob(int parameterIndex, Reader reader) throws SQLException { + + } + + @Override + public ResultSet executeQuery(String sql) throws SQLException { + + return new PrintResultSet(); + } + + @Override + public int executeUpdate(String sql) throws SQLException { + + return 0; + } + + @Override + public void close() throws SQLException { + + } + + @Override + public int getMaxFieldSize() throws SQLException { + + return 0; + } + + @Override + public void setMaxFieldSize(int max) throws SQLException { + + } + + @Override + public int getMaxRows() throws SQLException { + + return 0; + } + + @Override + public void setMaxRows(int max) throws SQLException { + + } + + @Override + public void setEscapeProcessing(boolean enable) throws SQLException { + + } + + @Override + public int getQueryTimeout() throws SQLException { + + return 0; + } + + @Override + public void setQueryTimeout(int seconds) throws SQLException { + + } + + @Override + public void cancel() throws SQLException { + + } + + @Override + public SQLWarning getWarnings() throws SQLException { + + return null; + } + + @Override + public void clearWarnings() throws SQLException { + + } + + @Override + public void setCursorName(String name) throws SQLException { + + } + + @Override + public boolean execute(String sql) throws SQLException { + + return false; + } + + @Override + public ResultSet getResultSet() throws SQLException { + + return null; + } + + @Override + public int getUpdateCount() throws SQLException { + + return 0; + } + + @Override + public boolean getMoreResults() throws SQLException { + + return false; + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + + } + + @Override + public int getFetchDirection() throws SQLException { + + return 0; + } + + @Override + public void setFetchSize(int rows) throws SQLException { + + } + + @Override + public int getFetchSize() throws SQLException { + + return 0; + } + + @Override + public int getResultSetConcurrency() throws SQLException { + + return 0; + } + + @Override + public int getResultSetType() throws SQLException { + + return 0; + } + + @Override + public void addBatch(String sql) throws SQLException { + + } + + @Override + public void clearBatch() throws SQLException { + + } + + @Override + public int[] executeBatch() throws SQLException { + + return null; + } + + @Override + public Connection getConnection() throws SQLException { + + return null; + } + + @Override + public boolean getMoreResults(int current) throws SQLException { + + return false; + } + + @Override + public ResultSet getGeneratedKeys() throws SQLException { + + return null; + } + + @Override + public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException { + + return 0; + } + + @Override + public int executeUpdate(String sql, int[] columnIndexes) throws SQLException { + + return 0; + } + + @Override + public int executeUpdate(String sql, String[] columnNames) throws SQLException { + + return 0; + } + + @Override + public boolean execute(String sql, int autoGeneratedKeys) throws SQLException { + + return false; + } + + @Override + public boolean execute(String sql, int[] columnIndexes) throws SQLException { + + return false; + } + + @Override + public boolean execute(String sql, String[] columnNames) throws SQLException { + + return false; + } + + @Override + public int getResultSetHoldability() throws SQLException { + + return 0; + } + + @Override + public boolean isClosed() throws SQLException { + + return false; + } + + @Override + public void setPoolable(boolean poolable) throws SQLException { + + } + + @Override + public boolean isPoolable() throws SQLException { + + return false; + } + + @Override + public void closeOnCompletion() throws SQLException { + + } + + @Override + public boolean isCloseOnCompletion() throws SQLException { + + return false; + } + + @Override + public T unwrap(Class iface) throws SQLException { + + return null; + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + + return false; + } + + @Override + public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException { + + } + + @Override + public void registerOutParameter(int parameterIndex, int sqlType, int scale) throws SQLException { + + } + + @Override + public boolean wasNull() throws SQLException { + + return false; + } + + @Override + public String getString(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public boolean getBoolean(int parameterIndex) throws SQLException { + + return false; + } + + @Override + public byte getByte(int parameterIndex) throws SQLException { + + return 0; + } + + @Override + public short getShort(int parameterIndex) throws SQLException { + + return 0; + } + + @Override + public int getInt(int parameterIndex) throws SQLException { + + return 0; + } + + @Override + public long getLong(int parameterIndex) throws SQLException { + + return 0; + } + + @Override + public float getFloat(int parameterIndex) throws SQLException { + + return 0; + } + + @Override + public double getDouble(int parameterIndex) throws SQLException { + + return 0; + } + + @Override + public BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException { + + return null; + } + + @Override + public byte[] getBytes(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Date getDate(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Time getTime(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Timestamp getTimestamp(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Object getObject(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public BigDecimal getBigDecimal(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Object getObject(int parameterIndex, Map> map) throws SQLException { + + return null; + } + + @Override + public Ref getRef(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Blob getBlob(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Clob getClob(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Array getArray(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Date getDate(int parameterIndex, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Time getTime(int parameterIndex, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Timestamp getTimestamp(int parameterIndex, Calendar cal) throws SQLException { + + return null; + } + + @Override + public void registerOutParameter(int parameterIndex, int sqlType, String typeName) throws SQLException { + + } + + @Override + public void registerOutParameter(String parameterName, int sqlType) throws SQLException { + + } + + @Override + public void registerOutParameter(String parameterName, int sqlType, int scale) throws SQLException { + + } + + @Override + public void registerOutParameter(String parameterName, int sqlType, String typeName) throws SQLException { + + } + + @Override + public URL getURL(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public void setURL(String parameterName, URL val) throws SQLException { + + } + + @Override + public void setNull(String parameterName, int sqlType) throws SQLException { + + } + + @Override + public void setBoolean(String parameterName, boolean x) throws SQLException { + + } + + @Override + public void setByte(String parameterName, byte x) throws SQLException { + + } + + @Override + public void setShort(String parameterName, short x) throws SQLException { + + } + + @Override + public void setInt(String parameterName, int x) throws SQLException { + + } + + @Override + public void setLong(String parameterName, long x) throws SQLException { + + } + + @Override + public void setFloat(String parameterName, float x) throws SQLException { + + } + + @Override + public void setDouble(String parameterName, double x) throws SQLException { + + } + + @Override + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException { + + } + + @Override + public void setString(String parameterName, String x) throws SQLException { + + } + + @Override + public void setBytes(String parameterName, byte[] x) throws SQLException { + + } + + @Override + public void setDate(String parameterName, Date x) throws SQLException { + + } + + @Override + public void setTime(String parameterName, Time x) throws SQLException { + + } + + @Override + public void setTimestamp(String parameterName, Timestamp x) throws SQLException { + + } + + @Override + public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException { + + } + + @Override + public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException { + + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException { + + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException { + + } + + @Override + public void setObject(String parameterName, Object x) throws SQLException { + + } + + @Override + public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException { + + } + + @Override + public void setDate(String parameterName, Date x, Calendar cal) throws SQLException { + + } + + @Override + public void setTime(String parameterName, Time x, Calendar cal) throws SQLException { + + } + + @Override + public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException { + + } + + @Override + public void setNull(String parameterName, int sqlType, String typeName) throws SQLException { + + } + + @Override + public String getString(String parameterName) throws SQLException { + + return null; + } + + @Override + public boolean getBoolean(String parameterName) throws SQLException { + + return false; + } + + @Override + public byte getByte(String parameterName) throws SQLException { + + return 0; + } + + @Override + public short getShort(String parameterName) throws SQLException { + + return 0; + } + + @Override + public int getInt(String parameterName) throws SQLException { + + return 0; + } + + @Override + public long getLong(String parameterName) throws SQLException { + + return 0; + } + + @Override + public float getFloat(String parameterName) throws SQLException { + + return 0; + } + + @Override + public double getDouble(String parameterName) throws SQLException { + + return 0; + } + + @Override + public byte[] getBytes(String parameterName) throws SQLException { + + return null; + } + + @Override + public Date getDate(String parameterName) throws SQLException { + + return null; + } + + @Override + public Time getTime(String parameterName) throws SQLException { + + return null; + } + + @Override + public Timestamp getTimestamp(String parameterName) throws SQLException { + + return null; + } + + @Override + public Object getObject(String parameterName) throws SQLException { + + return null; + } + + @Override + public BigDecimal getBigDecimal(String parameterName) throws SQLException { + + return null; + } + + @Override + public Object getObject(String parameterName, Map> map) throws SQLException { + + return null; + } + + @Override + public Ref getRef(String parameterName) throws SQLException { + + return null; + } + + @Override + public Blob getBlob(String parameterName) throws SQLException { + + return null; + } + + @Override + public Clob getClob(String parameterName) throws SQLException { + + return null; + } + + @Override + public Array getArray(String parameterName) throws SQLException { + + return null; + } + + @Override + public Date getDate(String parameterName, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Time getTime(String parameterName, Calendar cal) throws SQLException { + + return null; + } + + @Override + public Timestamp getTimestamp(String parameterName, Calendar cal) throws SQLException { + + return null; + } + + @Override + public URL getURL(String parameterName) throws SQLException { + + return null; + } + + @Override + public RowId getRowId(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public RowId getRowId(String parameterName) throws SQLException { + + return null; + } + + @Override + public void setRowId(String parameterName, RowId x) throws SQLException { + + } + + @Override + public void setNString(String parameterName, String value) throws SQLException { + + } + + @Override + public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException { + + } + + @Override + public void setNClob(String parameterName, NClob value) throws SQLException { + + } + + @Override + public void setClob(String parameterName, Reader reader, long length) throws SQLException { + + } + + @Override + public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException { + + } + + @Override + public void setNClob(String parameterName, Reader reader, long length) throws SQLException { + + } + + @Override + public NClob getNClob(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public NClob getNClob(String parameterName) throws SQLException { + + return null; + } + + @Override + public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException { + + } + + @Override + public SQLXML getSQLXML(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public SQLXML getSQLXML(String parameterName) throws SQLException { + + return null; + } + + @Override + public String getNString(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public String getNString(String parameterName) throws SQLException { + + return null; + } + + @Override + public Reader getNCharacterStream(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Reader getNCharacterStream(String parameterName) throws SQLException { + + return null; + } + + @Override + public Reader getCharacterStream(int parameterIndex) throws SQLException { + + return null; + } + + @Override + public Reader getCharacterStream(String parameterName) throws SQLException { + + return null; + } + + @Override + public void setBlob(String parameterName, Blob x) throws SQLException { + + } + + @Override + public void setClob(String parameterName, Clob x) throws SQLException { + + } + + @Override + public void setAsciiStream(String parameterName, InputStream x, long length) throws SQLException { + + } + + @Override + public void setBinaryStream(String parameterName, InputStream x, long length) throws SQLException { + + } + + @Override + public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException { + + } + + @Override + public void setAsciiStream(String parameterName, InputStream x) throws SQLException { + + } + + @Override + public void setBinaryStream(String parameterName, InputStream x) throws SQLException { + + } + + @Override + public void setCharacterStream(String parameterName, Reader reader) throws SQLException { + + } + + @Override + public void setNCharacterStream(String parameterName, Reader value) throws SQLException { + + } + + @Override + public void setClob(String parameterName, Reader reader) throws SQLException { + + } + + @Override + public void setBlob(String parameterName, InputStream inputStream) throws SQLException { + + } + + @Override + public void setNClob(String parameterName, Reader reader) throws SQLException { + + } + + @Override + public T getObject(int parameterIndex, Class type) throws SQLException { + + return null; + } + + @Override + public T getObject(String parameterName, Class type) throws SQLException { + + return null; + } + + } + +} diff --git a/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/derby/DerbyFhirDatabaseTest.java b/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/derby/DerbyFhirDatabaseTest.java index d01d78902e5..6f4df1fcf68 100644 --- a/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/derby/DerbyFhirDatabaseTest.java +++ b/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/derby/DerbyFhirDatabaseTest.java @@ -20,5 +20,4 @@ public void testFhirSchema() throws Exception { System.out.println("FHIR database create successfully."); } } - -} +} \ No newline at end of file diff --git a/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/derby/OldFhirSchemaGenerator.java b/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/derby/OldFhirSchemaGenerator.java index dd2ae9437ac..e239022d2b8 100644 --- a/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/derby/OldFhirSchemaGenerator.java +++ b/fhir-persistence-schema/src/test/java/com/ibm/fhir/schema/derby/OldFhirSchemaGenerator.java @@ -54,7 +54,6 @@ import java.util.function.Consumer; import java.util.stream.Collectors; -import com.ibm.fhir.database.utils.model.DbType; import com.ibm.fhir.database.utils.model.GroupPrivilege; import com.ibm.fhir.database.utils.model.IDatabaseObject; import com.ibm.fhir.database.utils.model.NopObject; @@ -243,13 +242,13 @@ public void buildAdminSchema(PhysicalDataModel model) { model.addObject(allAdminTablesComplete); // The set_tenant procedure can be created after all the admin tables are done - ProcedureDef setTenant = model.addProcedureAndFunctions(this.adminSchemaName, + final String ROOT_DIR = "db2/"; + ProcedureDef setTenant = model.addProcedure(this.adminSchemaName, SET_TENANT, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, adminSchemaName, SET_TENANT.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, adminSchemaName, ROOT_DIR + SET_TENANT.toLowerCase() + ".sql", null), Arrays.asList(allAdminTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); setTenant.addTag(SCHEMA_GROUP_TAG, ADMIN_GROUP); // A final marker which is used to block any FHIR data schema activity until the admin schema is completed @@ -377,41 +376,38 @@ public void buildSchema(PhysicalDataModel model) { // These procedures just depend on the table they are manipulating and the fhir sequence. But // to avoid deadlocks, we only apply them after all the tables are done, so we make all // procedures depend on the allTablesComplete marker. + final String ROOT_DIR = "db2/"; ProcedureDef pd; - pd = model.addProcedureAndFunctions(this.schemaName, + pd = model.addProcedure(this.schemaName, ADD_CODE_SYSTEM, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_CODE_SYSTEM.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_CODE_SYSTEM.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, codeSystemsTable, allTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, + pd = model.addProcedure(this.schemaName, ADD_PARAMETER_NAME, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_PARAMETER_NAME.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_PARAMETER_NAME.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, parameterNamesTable, allTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, + pd = model.addProcedure(this.schemaName, ADD_RESOURCE_TYPE, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_RESOURCE_TYPE.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_RESOURCE_TYPE.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, resourceTypesTable, allTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); - pd = model.addProcedureAndFunctions(this.schemaName, + pd = model.addProcedure(this.schemaName, ADD_ANY_RESOURCE, FhirSchemaConstants.INITIAL_VERSION, - () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ADD_ANY_RESOURCE.toLowerCase() + ".sql", null), + () -> SchemaGeneratorUtil.readTemplate(adminSchemaName, schemaName, ROOT_DIR + ADD_ANY_RESOURCE.toLowerCase() + ".sql", null), Arrays.asList(fhirSequence, resourceTypesTable, allTablesComplete), - procedurePrivileges, - DbType.DB2); + procedurePrivileges); pd.addTag(SCHEMA_GROUP_TAG, FHIRDATA_GROUP); } diff --git a/fhir-profile/pom.xml b/fhir-profile/pom.xml index 6819da768f0..2c898ac0b61 100644 --- a/fhir-profile/pom.xml +++ b/fhir-profile/pom.xml @@ -22,6 +22,11 @@ fhir-registry ${project.version} + + ${project.groupId} + fhir-term + ${project.version} + org.testng testng diff --git a/fhir-profile/src/main/java/com/ibm/fhir/profile/ConstraintGenerator.java b/fhir-profile/src/main/java/com/ibm/fhir/profile/ConstraintGenerator.java index dca6773ad6b..3a96c1be2ee 100644 --- a/fhir-profile/src/main/java/com/ibm/fhir/profile/ConstraintGenerator.java +++ b/fhir-profile/src/main/java/com/ibm/fhir/profile/ConstraintGenerator.java @@ -34,6 +34,7 @@ import com.ibm.fhir.model.type.ElementDefinition; import com.ibm.fhir.model.type.ElementDefinition.Binding; import com.ibm.fhir.model.type.ElementDefinition.Type; +import com.ibm.fhir.model.type.Identifier; import com.ibm.fhir.model.type.Uri; import com.ibm.fhir.model.type.code.BindingStrength; import com.ibm.fhir.model.util.ModelSupport; @@ -44,6 +45,9 @@ public class ConstraintGenerator { private static final Logger log = Logger.getLogger(ConstraintGenerator.class.getName()); + private static final String MONEY_QUANTITY_PROFILE = "http://hl7.org/fhir/StructureDefinition/MoneyQuantity"; + private static final String SIMPLE_QUANTITY_PROFILE = "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"; + private final StructureDefinition profile; private final Map elementDefinitionMap; private final Tree tree; @@ -161,7 +165,7 @@ private String generate(Node node) { ElementDefinition elementDefinition = node.elementDefinition; if (hasValueConstraint(elementDefinition)) { - return generateValueConstraint(elementDefinition); + return generateValueConstraint(node); } if (hasReferenceTypeConstraint(elementDefinition)) { @@ -170,7 +174,7 @@ private String generate(Node node) { if (hasVocabularyConstraint(elementDefinition)) { String expr = generateVocabularyConstraint(elementDefinition); - if (node.children.stream().noneMatch(child -> hasConstraint(child))) { + if (node.children.isEmpty()) { // no constraints exist on the children of this node, the expression is complete return expr; } @@ -219,18 +223,8 @@ private String generate(Node node) { sb.append(".where("); } - StringJoiner joiner = new StringJoiner(" and "); - for (Node child : node.children) { - if (isExtensionUrl(child.elementDefinition)) { - continue; - } - if (isOptional(child.elementDefinition)) { - joiner.add("(" + generate(child) + ")"); - } else { - joiner.add(generate(child)); - } - } - sb.append(joiner.toString()); + sb.append(generate(node.children)); + sb.append(")"); if (!isRepeating(elementDefinition) || isSlice(elementDefinition)) { @@ -243,6 +237,16 @@ private String generate(Node node) { } } + if (hasProfileConstraint(elementDefinition)) { + String profile = getProfiles(getTypes(elementDefinition).get(0)).get(0); + sb.append(" and "); + if (isRepeating(elementDefinition)) { + sb.append(identifier).append(".all(conformsTo('").append(profile).append("'))"); + } else { + sb.append(identifier).append(".conformsTo('").append(profile).append("')"); + } + } + if (isOptional(elementDefinition)) { sb.append(")"); } @@ -250,16 +254,32 @@ private String generate(Node node) { return sb.toString(); } + private String generate(List nodes) { + StringJoiner joiner = new StringJoiner(" and "); + for (Node node : nodes) { + if (isExtensionUrl(node.elementDefinition)) { + continue; + } + if (isOptional(node.elementDefinition)) { + joiner.add("(" + generate(node) + ")"); + } else { + joiner.add(generate(node)); + } + } + return joiner.toString(); + } + private String generateExtensionConstraint(ElementDefinition elementDefinition) { StringBuilder sb = new StringBuilder(); Type type = getTypes(elementDefinition).get(0); String profile = getProfiles(type).get(0); + sb.append("extension('").append(profile).append("').count()"); + Integer min = elementDefinition.getMin().getValue(); String max = elementDefinition.getMax().getValue(); - sb.append("extension('").append(profile).append("').count()"); if ("*".equals(max)) { sb.append(" >= ").append(min); } else if ("1".equals(max)) { @@ -293,9 +313,11 @@ private String generateFixedValueConstraint(ElementDefinition elementDefinition) return sb.toString(); } - private String generatePatternValueConstraint(ElementDefinition elementDefinition) { + private String generatePatternValueConstraint(Node node) { StringBuilder sb = new StringBuilder(); + ElementDefinition elementDefinition = node.elementDefinition; + String identifier = getIdentifier(elementDefinition); sb.append(identifier); @@ -304,13 +326,38 @@ private String generatePatternValueConstraint(ElementDefinition elementDefinitio CodeableConcept codeableConcept = pattern.as(CodeableConcept.class); Coding coding = codeableConcept.getCoding().get(0); String system = (coding.getSystem() != null) ? coding.getSystem().getValue() : null; + sb.append(".where(coding.where("); + if (system != null) { sb.append("system = '").append(system).append("' and "); } - sb.append("code = '") - .append(coding.getCode().getValue()) - .append("').exists()).exists()"); + + sb.append("code = '").append(coding.getCode().getValue()).append("').exists()).exists()"); + } else if (pattern.is(Identifier.class)) { + Identifier _identifier = pattern.as(Identifier.class); + String system = _identifier.getSystem().getValue(); + + sb.append(".where(system = '").append(system).append("').count()"); + + Integer min = elementDefinition.getMin().getValue(); + String max = elementDefinition.getMax().getValue(); + + if ("*".equals(max)) { + sb.append(" >= ").append(min); + } else if ("1".equals(max)) { + if (min == 0) { + sb.append(" <= 1"); + } else { + sb.append(" = 1"); + } + } else { + sb.append(" >= ").append(min).append(" and ").append(identifier).append(".where(system = '").append(system).append("').count() <= ").append(max); + } + + if (!node.children.isEmpty()) { + sb.append(" and (").append(identifier).append(".where(system = '").append(system).append("').exists()").append(" implies (").append(identifier).append(".where(system = '").append(system).append("' and ").append(generate(node.children)).append(")))"); + } } return sb.toString(); @@ -358,8 +405,8 @@ private String generateReferenceTypeConstraint(ElementDefinition elementDefiniti return sb.toString(); } - private String generateValueConstraint(ElementDefinition elementDefinition) { - return hasFixedValueConstraint(elementDefinition) ? generateFixedValueConstraint(elementDefinition) : generatePatternValueConstraint(elementDefinition); + private String generateValueConstraint(Node node) { + return hasFixedValueConstraint(node.elementDefinition) ? generateFixedValueConstraint(node.elementDefinition) : generatePatternValueConstraint(node); } private String generateVocabularyConstraint(ElementDefinition elementDefinition) { @@ -453,7 +500,8 @@ private boolean hasConstraint(ElementDefinition elementDefinition) { hasReferenceTypeConstraint(elementDefinition) || hasChoiceTypeConstraint(elementDefinition) || hasVocabularyConstraint(elementDefinition) || - hasExtensionConstraint(elementDefinition); + hasExtensionConstraint(elementDefinition) || + hasProfileConstraint(elementDefinition); } private boolean hasConstraint(Node node) { @@ -486,7 +534,20 @@ private boolean hasExtensionConstraint(ElementDefinition elementDefinition) { return false; } - return hasCardinalityConstraint(elementDefinition); + return true; + } + + private boolean hasProfileConstraint(ElementDefinition elementDefinition) { + List types = getTypes(elementDefinition); + if (types.size() == 1) { + List profiles = getProfiles(types.get(0)); + return (profiles.size() == 1) && !isQuantityProfile(profiles.get(0)); + } + return false; + } + + private boolean isQuantityProfile(String profile) { + return SIMPLE_QUANTITY_PROFILE.equals(profile) || MONEY_QUANTITY_PROFILE.equals(profile); } private boolean hasFixedValueConstraint(ElementDefinition elementDefinition) { @@ -494,9 +555,13 @@ private boolean hasFixedValueConstraint(ElementDefinition elementDefinition) { } private boolean hasPatternValueConstraint(ElementDefinition elementDefinition) { - return (elementDefinition.getPattern() instanceof CodeableConcept) && - (elementDefinition.getPattern().as(CodeableConcept.class).getCoding().stream() - .allMatch(coding -> (coding.getCode() != null && coding.getCode().getValue() != null))); + Element pattern = elementDefinition.getPattern(); + return ((pattern instanceof CodeableConcept) && + (pattern.as(CodeableConcept.class).getCoding().stream() + .allMatch(coding -> (coding.getCode() != null && coding.getCode().getValue() != null)))) || + ((pattern instanceof Identifier) && + (pattern.as(Identifier.class).getSystem() != null) && + (pattern.as(Identifier.class).getSystem().getValue() != null)); } private boolean hasReferenceTypeConstraint(ElementDefinition elementDefinition) { diff --git a/fhir-profile/src/test/java/com/ibm/fhir/profile/test/ValueSetExpansionTest.java b/fhir-profile/src/test/java/com/ibm/fhir/profile/test/ValueSetExpansionTest.java deleted file mode 100644 index 1908f2c73b4..00000000000 --- a/fhir-profile/src/test/java/com/ibm/fhir/profile/test/ValueSetExpansionTest.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * (C) Copyright IBM Corp. 2019 - * - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.ibm.fhir.profile.test; - -import static com.ibm.fhir.profile.ValueSetSupport.expand; -import static com.ibm.fhir.profile.ValueSetSupport.getContains; -import static com.ibm.fhir.profile.ValueSetSupport.getValueSet; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import com.ibm.fhir.model.format.Format; -import com.ibm.fhir.model.generator.FHIRGenerator; -import com.ibm.fhir.model.resource.ValueSet; - -public class ValueSetExpansionTest { - public static boolean DEBUG = true; - - @Test - public void testValueSetExpansion1() throws Exception { - ValueSet expanded = expand(getValueSet("http://ibm.com/fhir/ValueSet/vs1|1.0.0")); - - debug(expanded); - - List actual = getContains(expanded.getExpansion()).stream() - .map(contains -> contains.getCode().getValue()) - .collect(Collectors.toList()); - - Assert.assertEquals(actual, Arrays.asList("a", "b", "c")); - } - - @Test - public void testValueSetExpansion2() throws Exception { - ValueSet expanded = expand(getValueSet("http://ibm.com/fhir/ValueSet/vs2|1.0.0")); - - debug(expanded); - - List actual = getContains(expanded.getExpansion()).stream() - .map(contains -> contains.getCode().getValue()) - .collect(Collectors.toList()); - - Assert.assertEquals(actual, Arrays.asList("a", "b", "c", "d", "e")); - } - - @Test - public void testValueSetExpansion3() throws Exception { - ValueSet expanded = expand(getValueSet("http://ibm.com/fhir/ValueSet/vs3|1.0.0")); - - debug(expanded); - - List actual = getContains(expanded.getExpansion()).stream() - .map(contains -> contains.getCode().getValue()) - .collect(Collectors.toList()); - - Assert.assertEquals(actual, Arrays.asList("g", "x", "h", "i")); - } - - @Test - public void testValueSetExpansion4() throws Exception { - ValueSet expanded = expand(getValueSet("http://ibm.com/fhir/ValueSet/vs4|1.0.0")); - - debug(expanded); - - List actual = getContains(expanded.getExpansion()).stream() - .map(contains -> contains.getCode().getValue()) - .collect(Collectors.toList()); - - Assert.assertEquals(actual, Arrays.asList("j", "l", "a", "b", "d", "m", "p", "q", "s", "o", "t", "u")); - } - - @Test - public void testValueSetExpansion5() throws Exception { - ValueSet expanded = expand(getValueSet("http://ibm.com/fhir/ValueSet/vs5|1.0.0")); - - debug(expanded); - - List actual = getContains(expanded.getExpansion()).stream() - .map(contains -> contains.getCode().getValue()) - .collect(Collectors.toList()); - - Assert.assertEquals(actual, Arrays.asList("m", "p", "q", "s", "o", "t", "u")); - } - - private void debug(ValueSet valueSet) throws Exception { - if (DEBUG) { - FHIRGenerator.generator(Format.JSON, true).generate(valueSet, System.out); - System.out.println(""); - } - } -} \ No newline at end of file diff --git a/fhir-profile/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider b/fhir-profile/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider deleted file mode 100644 index 06c90a334c5..00000000000 --- a/fhir-profile/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider +++ /dev/null @@ -1 +0,0 @@ -com.ibm.fhir.profile.test.FHIRProfileTestResourceProvider \ No newline at end of file diff --git a/fhir-search/src/main/java/com/ibm/fhir/search/parameters/ParametersUtil.java b/fhir-search/src/main/java/com/ibm/fhir/search/parameters/ParametersUtil.java index 36413fe582f..8b571cdac7e 100644 --- a/fhir-search/src/main/java/com/ibm/fhir/search/parameters/ParametersUtil.java +++ b/fhir-search/src/main/java/com/ibm/fhir/search/parameters/ParametersUtil.java @@ -210,9 +210,9 @@ static void checkAndWarnForIssueWithCodeAndName(String code, String name) { // Code is the code used in the URL or the parameter name in a parameters resource for this search parameter. // @see https://www.hl7.org/fhir/searchparameter-definitions.html#SearchParameter.code - if (code != null && name != null && !code.equals(name) && log.isLoggable(Level.WARNING)) { + if (code != null && name != null && !code.equals(name) && log.isLoggable(Level.FINE)) { // Note, this is conditionally output, while the code assist complains it is not. - log.warning(String.format(NO_MATCH_ON_NAME_CODE, code, name)); + log.fine(String.format(NO_MATCH_ON_NAME_CODE, code, name)); } } diff --git a/fhir-server-test/src/test/java/com/ibm/fhir/server/test/Base64BinaryTest.java b/fhir-server-test/src/test/java/com/ibm/fhir/server/test/Base64BinaryTest.java index 2506ffb5023..806cfdafc34 100644 --- a/fhir-server-test/src/test/java/com/ibm/fhir/server/test/Base64BinaryTest.java +++ b/fhir-server-test/src/test/java/com/ibm/fhir/server/test/Base64BinaryTest.java @@ -44,8 +44,7 @@ import com.ibm.fhir.model.type.code.DocumentReferenceStatus; /** - * This class contains tests for deserializing Base64 encoded binary data. This - * class was created for testing fixes to Defect 211585. + * This class contains tests for deserializing Base64 encoded binary data. */ public class Base64BinaryTest extends FHIRServerTestBase { private static final boolean DEBUG = false; diff --git a/fhir-server-test/src/test/java/com/ibm/fhir/server/test/DeleteTest.java b/fhir-server-test/src/test/java/com/ibm/fhir/server/test/DeleteTest.java index 212ef66cd61..ca9c0767b29 100644 --- a/fhir-server-test/src/test/java/com/ibm/fhir/server/test/DeleteTest.java +++ b/fhir-server-test/src/test/java/com/ibm/fhir/server/test/DeleteTest.java @@ -11,10 +11,10 @@ import static org.testng.AssertJUnit.assertNotNull; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.UUID; -import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; @@ -24,16 +24,23 @@ import com.ibm.fhir.client.FHIRParameters; import com.ibm.fhir.client.FHIRResponse; import com.ibm.fhir.core.FHIRConstants; -import com.ibm.fhir.core.FHIRMediaType; import com.ibm.fhir.model.resource.Bundle; +import com.ibm.fhir.model.resource.Bundle.Entry; +import com.ibm.fhir.model.resource.Bundle.Entry.Request; import com.ibm.fhir.model.resource.MedicationAdministration; import com.ibm.fhir.model.resource.Observation; import com.ibm.fhir.model.resource.OperationOutcome; import com.ibm.fhir.model.resource.Patient; import com.ibm.fhir.model.resource.Resource; import com.ibm.fhir.model.test.TestUtil; +import com.ibm.fhir.model.type.Code; +import com.ibm.fhir.model.type.Coding; +import com.ibm.fhir.model.type.Meta; import com.ibm.fhir.model.type.Reference; +import com.ibm.fhir.model.type.Uri; +import com.ibm.fhir.model.type.code.BundleType; import com.ibm.fhir.model.type.code.HTTPVerb; +import com.ibm.fhir.model.util.ModelSupport; /** * This class tests delete interactions. @@ -80,9 +87,7 @@ public void testCreateNewResource() throws Exception { assertNotNull(deletedResource); } - @Test(dependsOnMethods = { - "testCreateNewResource" - }) + @Test(dependsOnMethods = {"testCreateNewResource"}) public void testDeleteNewResource() throws Exception { assertNotNull(deletedType); assertNotNull(deletedId); @@ -98,9 +103,7 @@ public void testDeleteNewResource() throws Exception { } } - @Test(dependsOnMethods = { - "testDeleteNewResource" - }) + @Test(dependsOnMethods = {"testDeleteNewResource"}) public void testReadDeletedResource() throws Exception { if (!deleteSupported) { return; @@ -114,9 +117,7 @@ public void testReadDeletedResource() throws Exception { assertResponse(response.getResponse(), Response.Status.GONE.getStatusCode()); } - @Test(dependsOnMethods = { - "testDeleteNewResource" - }) + @Test(dependsOnMethods = {"testDeleteNewResource"}) public void testVreadDeletedResource() throws Exception { if (!deleteSupported) { return; @@ -130,9 +131,7 @@ public void testVreadDeletedResource() throws Exception { assertResponse(response.getResponse(), Response.Status.GONE.getStatusCode()); } - @Test(dependsOnMethods = { - "testDeleteNewResource" - }) + @Test(dependsOnMethods = {"testDeleteNewResource"}) public void testDeleteDeletedResource() throws Exception { if (!deleteSupported) { return; @@ -165,9 +164,7 @@ public void testDeleteInvalidResource() throws Exception { } - @Test(dependsOnMethods = { - "testDeleteDeletedResource" - }) + @Test(dependsOnMethods = {"testDeleteDeletedResource"}) public void testHistory1() throws Exception { if (!deleteSupported) { return; @@ -203,9 +200,7 @@ private void assertBundleEntry(Bundle.Entry entry, String expectedURL, String ex assertEquals(expectedVersionId, actualVersionId); } - @Test(dependsOnMethods = { - "testHistory1" - }) + @Test(dependsOnMethods = {"testHistory1"}) public void testUndeleteDeletedResource() throws Exception { if (!deleteSupported) { return; @@ -219,9 +214,7 @@ public void testUndeleteDeletedResource() throws Exception { assertResponse(response.getResponse(), Response.Status.CREATED.getStatusCode()); } - @Test(dependsOnMethods = { - "testUndeleteDeletedResource" - }) + @Test(dependsOnMethods = {"testUndeleteDeletedResource"}) public void testReadUndeletedResource() throws Exception { if (!deleteSupported) { return; @@ -235,9 +228,7 @@ public void testReadUndeletedResource() throws Exception { assertResponse(response.getResponse(), Response.Status.OK.getStatusCode()); } - @Test(dependsOnMethods = { - "testReadUndeletedResource" - }) + @Test(dependsOnMethods = {"testReadUndeletedResource"}) public void testVreadUndeletedResource() throws Exception { if (!deleteSupported) { return; @@ -251,9 +242,7 @@ public void testVreadUndeletedResource() throws Exception { assertResponse(response.getResponse(), Response.Status.OK.getStatusCode()); } - @Test(dependsOnMethods = { - "testVreadUndeletedResource" - }) + @Test(dependsOnMethods = {"testVreadUndeletedResource"}) public void testHistory2() throws Exception { if (!deleteSupported) { return; @@ -273,9 +262,7 @@ public void testHistory2() throws Exception { assertBundleEntry(bundle.getEntry().get(2), deletedType, "1", HTTPVerb.ValueSet.POST); } - @Test(dependsOnMethods = { - "testHistory2" - }) + @Test(dependsOnMethods = {"testHistory2"}) public void testDeleteUndeletedResource() throws Exception { if (!deleteSupported) { return; @@ -289,9 +276,7 @@ public void testDeleteUndeletedResource() throws Exception { assertResponse(response.getResponse(), Response.Status.OK.getStatusCode()); } - @Test(dependsOnMethods = { - "testDeleteUndeletedResource" - }) + @Test(dependsOnMethods = {"testDeleteUndeletedResource"}) public void testHistory3() throws Exception { if (!deleteSupported) { return; @@ -343,9 +328,7 @@ public void testSearch1() throws Exception { assertEquals(10, searchResults.getEntry().size()); } - @Test(dependsOnMethods = { - "testSearch1" - }) + @Test(dependsOnMethods = {"testSearch1"}) public void testSearch2() throws Exception { if (!deleteSupported) { return; @@ -369,9 +352,7 @@ public void testSearch2() throws Exception { assertEquals(8, searchResults.getEntry().size()); } - @Test(dependsOnMethods = { - "testSearch2" - }) + @Test(dependsOnMethods = {"testSearch2"}) public void testSearch3() throws Exception { if (!deleteSupported) { return; @@ -399,19 +380,14 @@ public void testSearch3() throws Exception { } @Test - public void testConditionalDeleteResource() throws Exception { - if (!deleteSupported) { - return; - } - + public void testConditionalDeleteNoResource() throws Exception { String fakePatientRef = "Patient/" + UUID.randomUUID().toString(); String obsId = UUID.randomUUID().toString(); Observation obs = TestUtil.readLocalResource("Observation1.json"); obs = obs.toBuilder().id(obsId).subject(Reference.builder().reference(string(fakePatientRef)).build()).build(); - - // First conditional delete should find no matches, so we should get back a 200 OK. + // This conditional delete should find no matches, so we should get back a 200 OK. FHIRParameters query = new FHIRParameters().searchParam("_id", obsId); FHIRResponse response = client.conditionalDelete("Observation", query); assertNotNull(response); @@ -420,13 +396,23 @@ public void testConditionalDeleteResource() throws Exception { } else { assertResponse(response.getResponse(), Response.Status.METHOD_NOT_ALLOWED.getStatusCode()); } + } - // Next, create an Observation (using update for create) so that we can test conditional delete. - response = client.update(obs); + @Test + public void testConditionalDeleteOneResource() throws Exception { + String fakePatientRef = "Patient/" + UUID.randomUUID().toString(); + String obsId = UUID.randomUUID().toString(); + Observation obs = TestUtil.readLocalResource("Observation1.json"); + + obs = obs.toBuilder().id(obsId).subject(Reference.builder().reference(string(fakePatientRef)).build()).build(); + + // Create an Observation (using update for create) so that we can test conditional delete. + FHIRResponse response = client.update(obs); assertNotNull(response); assertResponse(response.getResponse(), Response.Status.CREATED.getStatusCode()); - // Second conditional delete should find 1 match, so we should get back a 200. + + FHIRParameters query = new FHIRParameters().searchParam("_id", obsId); response = client.conditionalDelete("Observation", query); assertNotNull(response); if (deleteSupported) { @@ -436,39 +422,86 @@ public void testConditionalDeleteResource() throws Exception { } else { assertResponse(response.getResponse(), Response.Status.METHOD_NOT_ALLOWED.getStatusCode()); } + } + + @Test + public void testConditionalDeleteTenResource() throws Exception { + final String TESTNAME = "testConditionalDeleteTwoResource"; + + // Create 2 observations with the same tag (in a single request) + Observation obs = TestUtil.readExampleResource("json/ibm/minimal/Observation-1.json"); + obs = obs.toBuilder() + .meta(Meta.builder() + .tag(Coding.builder().code(Code.of(TESTNAME)).build()) + .build()) + .build(); + Bundle observations = buildRequestBundle(FHIRConstants.FHIR_CONDITIONAL_DELETE_MAX_NUMBER_DEFAULT, obs); + client.batch(observations); + + // If matches <= FHIRConstants.FHIR_CONDITIONAL_DELETE_MAX_NUMBER_DEFAULT, then result in a 204 status code. + FHIRParameters multipleMatches = new FHIRParameters().searchParam("_tag", TESTNAME); + FHIRResponse response = client.conditionalDelete("Observation", multipleMatches); + assertNotNull(response); + if (deleteSupported) { + assertResponse(response.getResponse(), Status.OK.getStatusCode()); + assertNotNull(response.getResource(OperationOutcome.class)); + } else { + assertResponse(response.getResponse(), Response.Status.METHOD_NOT_ALLOWED.getStatusCode()); + } + } - // A search that results in multiple matches: - // (1) if matches > FHIRConstants.FHIR_CONDITIONAL_DELETE_MAX_NUMBER_DEFAULT, then result in a 412 status code. - // (2) if matches <= FHIRConstants.FHIR_CONDITIONAL_DELETE_MAX_NUMBER_DEFAULT, then result in a 204 status code. - WebTarget target = getWebTarget(); - Response response2 = - target.path("Observation").queryParam("status", "final").request(FHIRMediaType.APPLICATION_FHIR_JSON).get(); - assertResponse(response2, Response.Status.OK.getStatusCode()); - Bundle searchResultBundle = response2.readEntity(Bundle.class); - - FHIRParameters multipleMatches = new FHIRParameters().searchParam("status", "final"); - response = client.conditionalDelete("Observation", multipleMatches); + @Test + public void testConditionalDeleteElevenResource() throws Exception { + final String TESTNAME = "testConditionalDeleteElevenResource"; + + // Create 11 observations with the same tag (in a single request) + Observation obs = TestUtil.readExampleResource("json/ibm/minimal/Observation-1.json"); + obs = obs.toBuilder() + .meta(Meta.builder() + .tag(Coding.builder().code(Code.of(TESTNAME)).build()) + .build()) + .build(); + Bundle observations = buildRequestBundle(FHIRConstants.FHIR_CONDITIONAL_DELETE_MAX_NUMBER_DEFAULT + 1, obs); + client.batch(observations); + + // If matches > FHIRConstants.FHIR_CONDITIONAL_DELETE_MAX_NUMBER_DEFAULT, then result in a 412 status code. + FHIRParameters multipleMatches = new FHIRParameters().searchParam("_tag", TESTNAME); + FHIRResponse response = client.conditionalDelete("Observation", multipleMatches); assertNotNull(response); if (deleteSupported) { - if (searchResultBundle.getTotal().getValue() <= FHIRConstants.FHIR_CONDITIONAL_DELETE_MAX_NUMBER_DEFAULT ) { - if (searchResultBundle.getTotal().getValue() > 0) { - assertResponse(response.getResponse(), Status.OK.getStatusCode()); - } else { - assertResponse(response.getResponse(), Status.OK.getStatusCode()); - assertNotNull(response.getResource(OperationOutcome.class)); - } - } else { - assertResponse(response, Status.PRECONDITION_FAILED.getStatusCode()); - assertExceptionOperationOutcome(response.getResponse().readEntity(OperationOutcome.class), - "The search criteria specified for a conditional delete operation returned too many matches"); - } + assertResponse(response, Status.PRECONDITION_FAILED.getStatusCode()); + assertExceptionOperationOutcome(response.getResponse().readEntity(OperationOutcome.class), + "The search criteria specified for a conditional delete operation returned too many matches"); } else { assertResponse(response.getResponse(), Response.Status.METHOD_NOT_ALLOWED.getStatusCode()); } + } + + private Bundle buildRequestBundle(int numberOfEntries, Resource rsc) { + Entry entry = Entry.builder() + .request(Request.builder() + .method(HTTPVerb.POST) + .url(Uri.of(ModelSupport.getTypeName(rsc.getClass()))) + .build()) + .resource(rsc) + .build(); + Bundle observations = Bundle.builder() + .type(BundleType.BATCH) + .entry(Collections.nCopies(numberOfEntries, entry)) + .build(); + return observations; + } + + public void testConditionalDeleteInvalidSearch() throws Exception { + String fakePatientRef = "Patient/" + UUID.randomUUID().toString(); + String obsId = UUID.randomUUID().toString(); + Observation obs = TestUtil.readLocalResource("Observation1.json"); + + obs = obs.toBuilder().id(obsId).subject(Reference.builder().reference(string(fakePatientRef)).build()).build(); - // Finally, an invalid search should result in a 400 status code. + // An invalid search should result in a 400 status code. FHIRParameters badSearch = new FHIRParameters().searchParam("invalid:search", "foo"); - response = client.conditionalUpdate(obs, badSearch); + FHIRResponse response = client.conditionalUpdate(obs, badSearch); assertNotNull(response); if (deleteSupported) { assertResponse(response.getResponse(), Response.Status.BAD_REQUEST.getStatusCode()); diff --git a/fhir-server-test/src/test/java/com/ibm/fhir/server/test/db2/ConcurrentUpdateTest.java b/fhir-server-test/src/test/java/com/ibm/fhir/server/test/db2/ConcurrentUpdateTest.java index 51268fa4e75..aa11267c0b6 100644 --- a/fhir-server-test/src/test/java/com/ibm/fhir/server/test/db2/ConcurrentUpdateTest.java +++ b/fhir-server-test/src/test/java/com/ibm/fhir/server/test/db2/ConcurrentUpdateTest.java @@ -33,8 +33,7 @@ /** * Tests specifically the concurrent creation and updating of a single patient, with the updateCreate feature enabled. - * The idea is to ensure that no patients with duplicate logical ids are created. This test class was created in - * response to Defect 259645. + * The idea is to ensure that no patients with duplicate logical ids are created. * * NOTE: This test is NOT included in the fhir-server testng suite because of an internal problem with Derby that * surfaces after the first execution of this test against a clean Derby DB. Subsequent test runs of this class will diff --git a/fhir-server/liberty-config/config/default/fhir-server-config.json b/fhir-server/liberty-config/config/default/fhir-server-config.json index fb78925d610..7367a19e080 100644 --- a/fhir-server/liberty-config/config/default/fhir-server-config.json +++ b/fhir-server/liberty-config/config/default/fhir-server-config.json @@ -142,6 +142,8 @@ "batch-truststore": "resources/security/fhirTrustStore.p12", "batch-truststore-password": "change-password", "isExportPublic": true, + "cosFileMaxResources": 500000, + "cosFileMaxSize": 209715200, "validBaseUrls": [] } } diff --git a/fhir-server/liberty-config/configDropins/defaults/bulkdata.xml b/fhir-server/liberty-config/configDropins/defaults/bulkdata.xml index e246af5811b..a698c7220d5 100644 --- a/fhir-server/liberty-config/configDropins/defaults/bulkdata.xml +++ b/fhir-server/liberty-config/configDropins/defaults/bulkdata.xml @@ -37,7 +37,7 @@ - + diff --git a/fhir-server/src/main/java/com/ibm/fhir/server/listener/FHIRServletContextListener.java b/fhir-server/src/main/java/com/ibm/fhir/server/listener/FHIRServletContextListener.java index 3df9d1a5cb7..628b582baee 100644 --- a/fhir-server/src/main/java/com/ibm/fhir/server/listener/FHIRServletContextListener.java +++ b/fhir-server/src/main/java/com/ibm/fhir/server/listener/FHIRServletContextListener.java @@ -224,6 +224,19 @@ private void bootstrapDerbyDatabases(PropertyGroup fhirConfig) throws Exception log.info("No '" + datasourceJndiName + "' dataSource found; skipping OAuth client table bootstrapping"); } + datasourceJndiName = "jdbc/fhirbatchDB"; + try { + // Check the batch database, if the batch database configuration is there, and available. + // Note, in the boostrap code we conditionally bootstrap if and only if it's targeting derby. + ds = (DataSource) ctxt.lookup(datasourceJndiName); + if (ds != null) { + log.info("Found '" + datasourceJndiName + "'; bootstrapping the Java Batch tables"); + DerbyBootstrapper.bootstrapBatchDb(ds); + } + } catch (NameNotFoundException e) { + log.info("No '" + datasourceJndiName + "' dataSource found; skipping Java Batch table bootstrapping"); + } + log.info("Finished Derby database bootstrapping..."); } else { log.info("Derby database bootstrapping is disabled."); diff --git a/fhir-swagger-generator/src/main/java/com/ibm/fhir/openapi/generator/FHIROpenApiGenerator.java b/fhir-swagger-generator/src/main/java/com/ibm/fhir/openapi/generator/FHIROpenApiGenerator.java index 4661046cdae..a973036b254 100644 --- a/fhir-swagger-generator/src/main/java/com/ibm/fhir/openapi/generator/FHIROpenApiGenerator.java +++ b/fhir-swagger-generator/src/main/java/com/ibm/fhir/openapi/generator/FHIROpenApiGenerator.java @@ -35,6 +35,7 @@ import javax.json.JsonObject; import javax.json.JsonObjectBuilder; import javax.json.JsonReader; +import javax.json.JsonStructure; import javax.json.JsonWriter; import javax.json.JsonWriterFactory; import javax.json.stream.JsonGenerator; @@ -1058,6 +1059,8 @@ private static void generateDefinition(Class modelClass, JsonObjectBuilder de } } + JsonArray requiredArray = required.build(); + Class superClass = modelClass.getSuperclass(); if (superClass != null && superClass.getPackage().getName().startsWith("com.ibm.fhir.model") && !superClass.equals(AbstractVisitable.class)) { @@ -1070,6 +1073,9 @@ private static void generateDefinition(Class modelClass, JsonObjectBuilder de JsonObjectBuilder wrapper = factory.createObjectBuilder(); wrapper.add("type", "object"); wrapper.add("properties", properties); + if (!requiredArray.isEmpty()) { + wrapper.add("required", requiredArray); + } allOf.add(wrapper); definition.add("allOf", allOf); @@ -1079,11 +1085,9 @@ private static void generateDefinition(Class modelClass, JsonObjectBuilder de definition.add("discriminator", "resourceType"); } definition.add("properties", properties); - } - - JsonArray requiredArray = required.build(); - if (!requiredArray.isEmpty()) { - definition.add("required", requiredArray); + if (!requiredArray.isEmpty()) { + definition.add("required", requiredArray); + } } if (Resource.class.isAssignableFrom(modelClass)) { @@ -1263,31 +1267,36 @@ private static void generateProperty(StructureDefinition structureDefinition, Cl } // Include select examples to help tools avoid bumping into infinite recursion (if they try generate examples) + JsonStructure example = null; if (Element.class.equals(modelClass) && Extension.class.equals(fieldClass)) { // "example": [{"url":"http://example.com","valueString":"textValue"}] JsonObject obj = factory.createObjectBuilder() .add("url", "http://example.com") .add("valueString", "text value") .build(); - JsonArray example = factory.createArrayBuilder().add(obj).build(); - property.add("example", example); + example = factory.createArrayBuilder().add(obj).build(); } else if (Identifier.class.equals(modelClass) && Reference.class.equals(fieldClass)) { // "example": {"reference":"Organization/123","type":"Organization","display":"The Assigning Organization"} - JsonObject example = factory.createObjectBuilder() + example = factory.createObjectBuilder() .add("reference", "Organization/123") .add("type", "Organization") .add("display", "The Assigning Organization") // skip assigner to break the recursion .build(); - property.add("example", example); } if (many) { JsonObjectBuilder wrapper = factory.createObjectBuilder(); wrapper.add("type", "array"); wrapper.add("items", property); + if (example != null) { + wrapper.add("example", example); + } properties.add(elementName, wrapper); } else { + if (example != null) { + property.add("example", example); + } properties.add(elementName, property); } } @@ -1306,7 +1315,7 @@ private static String cleanse(String description) { .replaceAll("‑", "‑"); // Non-Breaking Hyphen if (!Charset.forName("US-ASCII").newEncoder().canEncode(cleansed)) { - // If a new character sneaks in - it'll output here. + // If a new character sneaks in - it'll output here. // Best place to look up entity is https://unicodelookup.com System.out.println("[Failure to cleanse the description] - " + cleansed); } diff --git a/fhir-swagger-generator/src/main/java/com/ibm/fhir/swagger/generator/FHIRSwaggerGenerator.java b/fhir-swagger-generator/src/main/java/com/ibm/fhir/swagger/generator/FHIRSwaggerGenerator.java index 03d896da6b8..649e6eae845 100644 --- a/fhir-swagger-generator/src/main/java/com/ibm/fhir/swagger/generator/FHIRSwaggerGenerator.java +++ b/fhir-swagger-generator/src/main/java/com/ibm/fhir/swagger/generator/FHIRSwaggerGenerator.java @@ -29,6 +29,7 @@ import javax.json.JsonBuilderFactory; import javax.json.JsonObject; import javax.json.JsonObjectBuilder; +import javax.json.JsonStructure; import javax.json.JsonWriter; import javax.json.JsonWriterFactory; import javax.json.stream.JsonGenerator; @@ -797,6 +798,8 @@ private static void generateDefinition(Class modelClass, JsonObjectBuilder de } } + JsonArray requiredArray = required.build(); + Class superClass = modelClass.getSuperclass(); if (superClass != null && superClass.getPackage().getName().startsWith("com.ibm.fhir.model") @@ -810,6 +813,9 @@ private static void generateDefinition(Class modelClass, JsonObjectBuilder de JsonObjectBuilder wrapper = factory.createObjectBuilder(); wrapper.add("type", "object"); wrapper.add("properties", properties); + if (!requiredArray.isEmpty()) { + wrapper.add("required", requiredArray); + } allOf.add(wrapper); definition.add("allOf", allOf); @@ -819,11 +825,9 @@ private static void generateDefinition(Class modelClass, JsonObjectBuilder de definition.add("discriminator", "resourceType"); } definition.add("properties", properties); - } - - JsonArray requiredArray = required.build(); - if (!requiredArray.isEmpty()) { - definition.add("required", requiredArray); + if (!requiredArray.isEmpty()) { + definition.add("required", requiredArray); + } } if (Resource.class.isAssignableFrom(modelClass)) { @@ -994,32 +998,38 @@ private static void generateProperty(StructureDefinition structureDefinition, Cl property.add("description", description); } + // Include select examples to help tools avoid bumping into infinite recursion (if they try generate examples) + JsonStructure example = null; if (Element.class.equals(modelClass) && Extension.class.equals(fieldClass)) { // "example": [{"url":"http://example.com","valueString":"textValue"}] JsonObject obj = factory.createObjectBuilder() .add("url", "http://example.com") .add("valueString", "text value") .build(); - JsonArray example = factory.createArrayBuilder().add(obj).build(); - property.add("example", example); + example = factory.createArrayBuilder().add(obj).build(); } else if (Identifier.class.equals(modelClass) && Reference.class.equals(fieldClass)) { // "example": {"reference":"Organization/123","type":"Organization","display":"The Assigning Organization"} - JsonObject example = factory.createObjectBuilder() + example = factory.createObjectBuilder() .add("reference", "Organization/123") .add("type", "Organization") .add("display", "The Assigning Organization") // skip assigner to break the recursion .build(); - property.add("example", example); } if (many) { JsonObjectBuilder wrapper = factory.createObjectBuilder(); wrapper.add("type", "array"); wrapper.add("items", property); + if (example != null) { + wrapper.add("example", example); + } properties.add(elementName, wrapper); } else { + if (example != null) { + property.add("example", example); + } properties.add(elementName, property); } } diff --git a/fhir-term/pom.xml b/fhir-term/pom.xml new file mode 100644 index 00000000000..43f92bf6059 --- /dev/null +++ b/fhir-term/pom.xml @@ -0,0 +1,29 @@ + + 4.0.0 + + com.ibm.fhir + fhir-parent + 4.2.2-SNAPSHOT + ../fhir-parent + + fhir-term + + + ${project.groupId} + fhir-model + ${project.version} + + + ${project.groupId} + fhir-registry + ${project.version} + + + org.testng + testng + test + + + \ No newline at end of file diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java b/fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java new file mode 100644 index 00000000000..6c777144ecb --- /dev/null +++ b/fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java @@ -0,0 +1,195 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.term.service; + +import java.util.Iterator; +import java.util.List; +import java.util.ServiceLoader; +import java.util.Set; + +import com.ibm.fhir.model.resource.CodeSystem.Concept; +import com.ibm.fhir.model.resource.ConceptMap; +import com.ibm.fhir.model.resource.ValueSet; +import com.ibm.fhir.model.type.CodeableConcept; +import com.ibm.fhir.model.type.Coding; +import com.ibm.fhir.model.type.code.ConceptSubsumptionOutcome; +import com.ibm.fhir.term.service.provider.DefaultTermServiceProvider; +import com.ibm.fhir.term.spi.FHIRTermServiceProvider; +import com.ibm.fhir.term.spi.Match; + +public class FHIRTermService implements FHIRTermServiceProvider { + private static final FHIRTermService INSTANCE = new FHIRTermService(); + + private final FHIRTermServiceProvider provider; + + private FHIRTermService() { + provider = loadProvider(); + } + + /** + * Indicates whether the given value set is expandable + * + * @param valueSet + * the value set + * @return + * true if the given value set is expandable, false otherwise + */ + @Override + public boolean isExpandable(ValueSet valueSet) { + return provider.isExpandable(valueSet); + } + + /** + * Expand the given value set per the algorithm here: http://hl7.org/fhir/valueset.html#expansion + * + * @param valueSet + * the value set to be expanded + * @return + * the expanded value set, or the original value set if already expanded or unable to expand + */ + @Override + public ValueSet expand(ValueSet valueSet) { + return provider.expand(valueSet); + } + + /** + * Lookup the code system concept for the given coding + * + * @param coding + * the coding to lookup + * @return + * the code system concept that matches the given coding, or null if no such concept exists + */ + @Override + public Concept lookup(Coding coding) { + return provider.lookup(coding); + } + + /** + * Perform a subsumption test to determine if the code system concept represented by the given coding "A" subsumes + * the code system concept represented by the given coding "B" + * + * @param codingA + * the coding "A" + * @param codingB + * the coding "B" + * @return + * the outcome of the subsumption test + */ + @Override + public ConceptSubsumptionOutcome subsumes(Coding codingA, Coding codingB) { + return provider.subsumes(codingA, codingB); + } + + /** + * Generate the transitive closure for the code system concept represented by the given coding + * + * @param coding + * the coding + * @return + * a set containing the transitive closure for the code system concept represented by the given coding + */ + @Override + public Set closure(Coding coding) { + return provider.closure(coding); + } + + /** + * Indicates whether a code system concept matches the given coding + * + * @param coding + * the coding + * @return + * true if a code system concept matches the given coding, false otherwise + */ + @Override + public boolean validateCode(Coding coding) { + return provider.validateCode(coding); + } + + /** + * Indicates whether the given code is a member of the provided value set + * + * @implSpec + * the implementation will expand the provided value set if needed + * @param valueSet + * the value set + * @param system + * the system + * @param version + * the version + * @param code + * the code + * @return + * true if the given code is a member of the provided value set, false otherwise + */ + @Override + public boolean validateCode(ValueSet valueSet, String system, String version, String code) { + return provider.validateCode(valueSet, system, version, code); + } + + /** + * Indicates whether the given coding is a member of the provided value set + * + * @implSpec + * the implementation will expand the provided value set if needed + * @param valueSet + * the value set + * @param coding + * the coding + * @return + * true if the given coding is a member of the provided value set, false otherwise + */ + @Override + public boolean validateCode(ValueSet valueSet, Coding coding) { + return provider.validateCode(valueSet, coding); + } + + /** + * Indicates whether the given codeable concept contains a coding that is a member of the provided value set + * + * @implSpec + * the implementation will expand the provided value set if needed + * @param valueSet + * the value set + * @param codeableConcept + * the codeable concept + * @return + * true if the given codeable concept contains a coding that is a member of the provided value set, false otherwise + */ + @Override + public boolean validateCode(ValueSet valueSet, CodeableConcept codeableConcept) { + return provider.validateCode(valueSet, codeableConcept); + } + + /** + * Translate the given coding to a list of matches using the provided concept map + * + * @param conceptMap + * the concept map + * @param coding + * the coding + * @return + * a list of matches from the provided concept map for the given coding + */ + @Override + public List translate(ConceptMap conceptMap, Coding coding) { + return provider.translate(conceptMap, coding); + } + + public static FHIRTermService getInstance() { + return INSTANCE; + } + + private FHIRTermServiceProvider loadProvider() { + Iterator iterator = ServiceLoader.load(FHIRTermServiceProvider.class).iterator(); + if (iterator.hasNext()) { + return iterator.next(); + } + return new DefaultTermServiceProvider(); + } +} diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/provider/DefaultTermServiceProvider.java b/fhir-term/src/main/java/com/ibm/fhir/term/service/provider/DefaultTermServiceProvider.java new file mode 100644 index 00000000000..1d19f54a640 --- /dev/null +++ b/fhir-term/src/main/java/com/ibm/fhir/term/service/provider/DefaultTermServiceProvider.java @@ -0,0 +1,253 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.term.service.provider; + +import static com.ibm.fhir.core.util.LRUCache.createLRUCache; +import static com.ibm.fhir.term.util.CodeSystemSupport.findConcept; +import static com.ibm.fhir.term.util.CodeSystemSupport.getCodeSystem; +import static com.ibm.fhir.term.util.CodeSystemSupport.getConcepts; +import static com.ibm.fhir.term.util.ValueSetSupport.getContains; + +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.ibm.fhir.model.resource.CodeSystem; +import com.ibm.fhir.model.resource.CodeSystem.Concept; +import com.ibm.fhir.model.resource.ConceptMap; +import com.ibm.fhir.model.resource.ValueSet; +import com.ibm.fhir.model.resource.ValueSet.Expansion; +import com.ibm.fhir.model.resource.ValueSet.Expansion.Contains; +import com.ibm.fhir.model.type.Code; +import com.ibm.fhir.model.type.CodeableConcept; +import com.ibm.fhir.model.type.Coding; +import com.ibm.fhir.model.type.code.CodeSystemHierarchyMeaning; +import com.ibm.fhir.model.type.code.ConceptSubsumptionOutcome; +import com.ibm.fhir.term.spi.FHIRTermServiceProvider; +import com.ibm.fhir.term.spi.Match; +import com.ibm.fhir.term.util.ConceptMapSupport; +import com.ibm.fhir.term.util.ValueSetSupport; + +public class DefaultTermServiceProvider implements FHIRTermServiceProvider { + private static final Logger log = Logger.getLogger(DefaultTermServiceProvider.class.getName()); + + private static final String VERSION_UNKNOWN = ""; + private static final Map>> CODE_SET_MAP_CACHE = createLRUCache(1024); + + @Override + public boolean isExpandable(ValueSet valueSet) { + return ValueSetSupport.isExpandable(valueSet); + } + + @Override + public ValueSet expand(ValueSet valueSet) { + return ValueSetSupport.expand(valueSet); + } + + @Override + public Concept lookup(Coding coding) { + String system = (coding.getSystem() != null) ? coding.getSystem().getValue() : null; + String version = (coding.getVersion() != null) ? coding.getVersion().getValue() : null; + String code = (coding.getCode() != null) ? coding.getCode().getValue() : null; + + if (system != null && code != null) { + String url = (version != null) ? system + "|" + version : system; + CodeSystem codeSystem = getCodeSystem(url); + if (codeSystem != null) { + return findConcept(codeSystem, Code.of(code)); + } + } + + return null; + } + + @Override + public ConceptSubsumptionOutcome subsumes(Coding codingA, Coding codingB) { + String systemA = (codingA.getSystem() != null) ? codingA.getSystem().getValue() : null; + String versionA = (codingA.getVersion() != null) ? codingA.getVersion().getValue() : null; + String codeA = (codingA.getCode() != null) ? codingA.getCode().getValue() : null; + + String systemB = (codingB.getSystem() != null) ? codingB.getSystem().getValue() : null; + String versionB = (codingB.getVersion() != null) ? codingB.getVersion().getValue() : null; + String codeB = (codingB.getCode() != null) ? codingB.getCode().getValue() : null; + + if (systemA != null && systemB != null && codeA != null && codeB != null && systemA.equals(systemB)) { + String url = systemA; + + if (versionA != null || versionB != null) { + if (versionA != null && versionB != null && !versionA.equals(versionB)) { + return null; + } + url = (versionA != null) ? (url + "|" + versionA) : (url + "|" + versionB); + } + + CodeSystem codeSystem = getCodeSystem(url); + if (codeSystem != null && CodeSystemHierarchyMeaning.IS_A.equals(codeSystem.getHierarchyMeaning())) { + Concept conceptA = findConcept(codeSystem, Code.of(codeA)); + if (conceptA != null) { + Concept conceptB = findConcept(conceptA, Code.of(codeB)); + if (conceptB != null) { + return conceptA.equals(conceptB) ? ConceptSubsumptionOutcome.EQUIVALENT : ConceptSubsumptionOutcome.SUBSUMES; + } + conceptB = findConcept(codeSystem, Code.of(codeB)); + if (conceptB != null) { + conceptA = findConcept(conceptB, Code.of(codeA)); + return (conceptA != null) ? ConceptSubsumptionOutcome.SUBSUMED_BY : ConceptSubsumptionOutcome.NOT_SUBSUMED; + } + } + } + } + + return null; + } + + @Override + public Set closure(Coding coding) { + String system = (coding.getSystem() != null) ? coding.getSystem().getValue() : null; + String version = (coding.getVersion() != null) ? coding.getVersion().getValue() : null; + String code = (coding.getCode() != null) ? coding.getCode().getValue() : null; + + if (system != null && code != null) { + String url = (version != null) ? system + "|" + version : system; + CodeSystem codeSystem = getCodeSystem(url); + if (codeSystem != null && CodeSystemHierarchyMeaning.IS_A.equals(codeSystem.getHierarchyMeaning())) { + Concept concept = findConcept(codeSystem, Code.of(code)); + if (concept != null) { + return getConcepts(concept); + } + } + } + + return Collections.emptySet(); + } + + @Override + public boolean validateCode(Coding coding) { + return lookup(coding) != null; + } + + @Override + public boolean validateCode(ValueSet valueSet, String system, String version, String code) { + return contains(getCodeSetMap(valueSet), system, version, code); + } + + @Override + public boolean validateCode(ValueSet valueSet, Coding coding) { + return contains(getCodeSetMap(valueSet), coding); + } + + @Override + public boolean validateCode(ValueSet valueSet, CodeableConcept codeableConcept) { + Map> codeSetMap = getCodeSetMap(valueSet); + for (Coding coding : codeableConcept.getCoding()) { + if (contains(codeSetMap, coding)) { + return true; + } + } + return false; + } + + @Override + public List translate(ConceptMap conceptMap, Coding coding) { + return ConceptMapSupport.translate(conceptMap, coding); + } + + private boolean contains(Map> codeSetMap, Coding coding) { + String system = (coding.getSystem() != null) ? coding.getSystem().getValue() : null; + String version = (coding.getVersion() != null) ? coding.getVersion().getValue() : null; + String code = (coding.getCode() != null) ? coding.getCode().getValue() : null; + return contains(codeSetMap, system, version, code); + } + + /** + * Determine whether the provided code is in the codeSet associated with the provided system and version. + * + *

If the system and version are non-null, then they are concatenated to form a key into the codeSetMap. If + * not found, then the system is concatenated with the "VERSION_UNKNOWN" constant (in cases where the expanded + * value set did not have a version available during the expansion). If only the system is non-null, then the + * codeSetMap keys are checked for startsWith(system). Finally, if both system and version are null, map keys + * are ignored and the values of the map are checked directly. + * + * @param codeSetMap + * the code set map + * @param system + * the system of the focal coded element (can be null) + * @param version + * the version of the focal coded element (can be null) + * @param code + * the code used in the membership check + * @return + * true if a codeSet is found and the provided code is a member of that codeSet, false otherwise + */ + private boolean contains(Map> codeSetMap, String system, String version, String code) { + if (system != null && version != null) { + Set codeSet = codeSetMap.get(system + "|" + version); + if (codeSet != null) { + if (codeSet.contains(code)) { + return true; + } else { + codeSet = codeSetMap.get(system + "|" + VERSION_UNKNOWN); + if (codeSet != null) { + return codeSet.contains(code); + } + } + } + } else if (system != null) { + String prefix = system + "|"; + for (String key : codeSetMap.keySet()) { + if (key.startsWith(prefix)) { + return codeSetMap.get(key).contains(code); + } + } + } else { + for (Set codeSet : codeSetMap.values()) { + if (codeSet.contains(code)) { + return true; + } + } + } + return false; + } + + private Map> getCodeSetMap(ValueSet valueSet) { + if (valueSet.getUrl() == null || valueSet.getVersion() == null) { + return computeCodeSetMap(valueSet); + } + String url = valueSet.getUrl().getValue() + "|" + valueSet.getVersion().getValue(); + return CODE_SET_MAP_CACHE.computeIfAbsent(url, k -> computeCodeSetMap(valueSet)); + } + + private Map> computeCodeSetMap(ValueSet valueSet) { + try { + ValueSet expanded = expand(valueSet); + if (expanded == null || expanded.getExpansion() == null) { + return Collections.emptyMap(); + } + Map> codeSetMap = new LinkedHashMap<>(); + Expansion expansion = expanded.getExpansion(); + for (Contains contains : getContains(expansion)) { + String system = (contains.getSystem() != null) ? contains.getSystem().getValue() : null; + String version = (contains.getVersion() != null && contains.getVersion().getValue() != null) ? contains.getVersion().getValue() : VERSION_UNKNOWN; + String code = (contains.getCode() != null) ? contains.getCode().getValue() : null; + if (system != null && code != null) { + codeSetMap.computeIfAbsent(system + "|" + version, k -> new LinkedHashSet<>()).add(code); + } + } + return codeSetMap; + } catch (Exception e) { + String url = (valueSet.getUrl() != null) ? valueSet.getUrl().getValue() : ""; + String version = (valueSet.getVersion() != null) ? valueSet.getVersion().getValue() : ""; + log.log(Level.WARNING, String.format("Unable to expand value set with url: %s and version: %s", url, version), e); + } + return Collections.emptyMap(); + } +} diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/spi/FHIRTermServiceProvider.java b/fhir-term/src/main/java/com/ibm/fhir/term/spi/FHIRTermServiceProvider.java new file mode 100644 index 00000000000..996bb2b5063 --- /dev/null +++ b/fhir-term/src/main/java/com/ibm/fhir/term/spi/FHIRTermServiceProvider.java @@ -0,0 +1,143 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.term.spi; + +import java.util.List; +import java.util.Set; + +import com.ibm.fhir.model.resource.CodeSystem.Concept; +import com.ibm.fhir.model.resource.ConceptMap; +import com.ibm.fhir.model.resource.ValueSet; +import com.ibm.fhir.model.type.CodeableConcept; +import com.ibm.fhir.model.type.Coding; +import com.ibm.fhir.model.type.code.ConceptSubsumptionOutcome; + +public interface FHIRTermServiceProvider { + /** + * Indicates whether the given value set is expandable + * + * @param valueSet + * the value set + * @return + * true if the given value set is expandable, false otherwise + */ + boolean isExpandable(ValueSet valueSet); + + + /** + * Expand the given value set per the algorithm here: http://hl7.org/fhir/valueset.html#expansion + * + * @param valueSet + * the value set to be expanded + * @return + * the expanded value set, or the original value set if already expanded or unable to expand + */ + ValueSet expand(ValueSet valueSet); + + /** + * Lookup the code system concept for the given coding + * + * @param coding + * the coding to lookup + * @return + * the code system concept that matches the given coding, or null if no such concept exists + */ + Concept lookup(Coding coding); + + /** + * Perform a subsumption test to determine if the code system concept represented by the given coding "A" subsumes + * the code system concept represented by the given coding "B" + * + * @param codingA + * the coding "A" + * @param codingB + * the coding "B" + * @return + * the outcome of the subsumption test + */ + ConceptSubsumptionOutcome subsumes(Coding codingA, Coding codingB); + + /** + * Generate the transitive closure for the code system concept represented by the given coding + * + * @param coding + * the coding + * @return + * a set containing the transitive closure for the code system concept represented by the given coding + */ + Set closure(Coding coding); + + /** + * Indicates whether a code system concept matches the given coding + * + * @param coding + * the coding + * @return + * true if a code system concept matches the given coding, false otherwise + */ + boolean validateCode(Coding coding); + + /** + * Indicates whether the given code is a member of the provided value set + * + * @apiNote + * the implementation should expand the provided value set if needed + * @param valueSet + * the value set + * @param system + * the system + * @param version + * the version + * @param code + * the code + * @return + * true if the given code is a member of the provided value set, false otherwise + */ + boolean validateCode(ValueSet valueSet, String system, String version, String code); + + /** + * Indicates whether the given coding is a member of the provided value set + * + * @apiNote + * the implementation should expand the provided value set if needed + * @param valueSet + * the value set + * @param coding + * the coding + * @return + * true if the given coding is a member of the provided value set, false otherwise + */ + boolean validateCode(ValueSet valueSet, Coding coding); + + /** + * Indicates whether the given codeable concept contains a coding that is a member of the provided value set + * + * @apiNote + * the implementation should expand the provided value set if needed + * @param valueSet + * the value set + * @param codeableConcept + * the codeable concept + * @return + * true if the given codeable concept contains a coding that is a member of the provided value set, false otherwise + */ + boolean validateCode(ValueSet valueSet, CodeableConcept codeableConcept); + + + + /** + * Translate the given coding to a list of matches using the provided concept map + * + * @param conceptMap + * the concept map + * @param coding + * the coding + * @return + * a list of matches from the provided concept map for the given coding + */ + List translate(ConceptMap conceptMap, Coding coding); +} diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/spi/Match.java b/fhir-term/src/main/java/com/ibm/fhir/term/spi/Match.java new file mode 100644 index 00000000000..305d4f90057 --- /dev/null +++ b/fhir-term/src/main/java/com/ibm/fhir/term/spi/Match.java @@ -0,0 +1,213 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.term.spi; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +import com.ibm.fhir.model.type.Coding; +import com.ibm.fhir.model.type.Uri; +import com.ibm.fhir.model.type.code.ConceptMapEquivalence; + +/** + * This class represents a match result per the translate operation: http://hl7.org/fhir/conceptmap-operation-translate.html + */ +public class Match { + private final ConceptMapEquivalence equivalence; + private final Coding concept; + private final List product; + private final Uri source; + + public Match(Builder builder) { + equivalence = builder.equivalence; + concept = builder.concept; + product = Collections.unmodifiableList(builder.product); + source = builder.source; + } + + public ConceptMapEquivalence getEquivalence() { + return equivalence; + } + + public Coding getConcept() { + return concept; + } + + public List getProduct() { + return product; + } + + public Uri getSource() { + return source; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + Match other = (Match) obj; + return Objects.equals(equivalence, other.equivalence) && + Objects.equals(concept, other.concept) && + Objects.equals(product, other.product) && + Objects.equals(source, source); + } + + @Override + public int hashCode() { + return Objects.hash(equivalence, concept, product, source); + } + + @Override + public String toString() { + return "Match [equivalence=" + equivalence + ", concept=" + concept + ", product=" + product + ", source=" + source + "]"; + } + + public Builder toBuilder() { + return new Builder().from(this); + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ConceptMapEquivalence equivalence; + private Coding concept; + private List product = new ArrayList<>(); + private Uri source; + + private Builder() { } + + public Builder equivalence(ConceptMapEquivalence equivalence) { + this.equivalence = equivalence; + return this; + } + + public Builder concept(Coding concept) { + this.concept = concept; + return this; + } + + public Builder product(Product... product) { + for (Product value : product) { + this.product.add(value); + } + return this; + } + + public Builder product(Collection product) { + this.product = new ArrayList<>(product); + return this; + } + + public Builder source(Uri source) { + this.source = source; + return this; + } + + public Match build() { + return new Match(this); + } + + protected Builder from(Match match) { + equivalence = match.equivalence; + concept = match.concept; + product.addAll(match.product); + source = match.source; + return this; + } + } + + public static class Product { + private final Uri element; + private final Coding concept; + + public Product(Builder builder) { + element = builder.element; + concept = builder.concept; + } + + public Uri getElement() { + return element; + } + + public Coding getConcept() { + return concept; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + Product other = (Product) obj; + return Objects.equals(element, other.element) && + Objects.equals(concept, other.concept); + } + + @Override + public int hashCode() { + return Objects.hash(element, concept); + } + + @Override + public String toString() { + return "Product [element=" + element + ", concept=" + concept + "]"; + } + + public Builder toBuilder() { + return new Builder().from(this); + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Uri element; + private Coding concept; + + private Builder() { } + + public Builder element(Uri element) { + this.element = element; + return this; + } + + public Builder concept(Coding concept) { + this.concept = concept; + return this; + } + + public Product build() { + return new Product(this); + } + + protected Builder from(Product product) { + this.element = product.element; + this.concept = product.concept; + return this; + } + } + } +} diff --git a/fhir-profile/src/main/java/com/ibm/fhir/profile/CodeSystemSupport.java b/fhir-term/src/main/java/com/ibm/fhir/term/util/CodeSystemSupport.java similarity index 99% rename from fhir-profile/src/main/java/com/ibm/fhir/profile/CodeSystemSupport.java rename to fhir-term/src/main/java/com/ibm/fhir/term/util/CodeSystemSupport.java index 700c3cf4020..65db23d63a5 100644 --- a/fhir-profile/src/main/java/com/ibm/fhir/profile/CodeSystemSupport.java +++ b/fhir-term/src/main/java/com/ibm/fhir/term/util/CodeSystemSupport.java @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package com.ibm.fhir.profile; +package com.ibm.fhir.term.util; import java.util.Collections; import java.util.LinkedHashSet; diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/util/ConceptMapSupport.java b/fhir-term/src/main/java/com/ibm/fhir/term/util/ConceptMapSupport.java new file mode 100644 index 00000000000..e26eb5bf3d7 --- /dev/null +++ b/fhir-term/src/main/java/com/ibm/fhir/term/util/ConceptMapSupport.java @@ -0,0 +1,78 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.term.util; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import com.ibm.fhir.model.resource.ConceptMap; +import com.ibm.fhir.model.resource.ConceptMap.Group; +import com.ibm.fhir.model.resource.ConceptMap.Group.Element; +import com.ibm.fhir.model.type.Coding; +import com.ibm.fhir.model.type.String; +import com.ibm.fhir.model.type.Uri; +import com.ibm.fhir.registry.FHIRRegistry; +import com.ibm.fhir.term.spi.Match; + +public final class ConceptMapSupport { + private ConceptMapSupport() { } + + public static List translate(ConceptMap conceptMap, Coding coding) { + return conceptMap.getGroup().stream() + .filter(group -> group.getSource() != null) + .filter(group -> group.getSource().equals(coding.getSystem())) + .filter(group -> group.getSourceVersion() == null || + coding.getVersion() == null || + group.getSourceVersion().equals(coding.getVersion())) + .map(group -> group.toBuilder() + .element(group.getElement().stream() + .filter(element -> element.getCode() != null) + .filter(element -> element.getCode().equals(coding.getCode())) + .collect(Collectors.toList())) + .build()) + .filter(group -> !group.getElement().isEmpty()) + .map(group -> buildMatches(getSource(conceptMap), group)) + .flatMap(List::stream) + .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList)); + } + + private static List buildMatches(Uri source, Group group) { + return group.getElement().stream() + .map(element -> buildMatches(source, group.getTarget(), group.getTargetVersion(), element)) + .flatMap(List::stream) + .collect(Collectors.toList()); + } + + private static List buildMatches(Uri source, Uri system, String version, Element element) { + return element.getTarget().stream() + .map(target -> Match.builder() + .equivalence(target.getEquivalence()) + .concept(Coding.builder() + .system(system) + .version(version) + .code(target.getCode()) + .display(target.getDisplay()) + .build()) + .source(source) + .build()) + .collect(Collectors.toList()); + } + + private static Uri getSource(ConceptMap conceptMap) { + StringBuilder sb = new StringBuilder(); + sb.append(conceptMap.getUrl().getValue()); + if (conceptMap.getVersion() != null) { + sb.append("|").append(conceptMap.getVersion().getValue()); + } + return Uri.of(sb.toString()); + } + + public static ConceptMap getConceptMap(java.lang.String url) { + return FHIRRegistry.getInstance().getResource(url, ConceptMap.class); + } +} diff --git a/fhir-profile/src/main/java/com/ibm/fhir/profile/ValueSetSupport.java b/fhir-term/src/main/java/com/ibm/fhir/term/util/ValueSetSupport.java similarity index 98% rename from fhir-profile/src/main/java/com/ibm/fhir/profile/ValueSetSupport.java rename to fhir-term/src/main/java/com/ibm/fhir/term/util/ValueSetSupport.java index dd8fec8c01d..ce6463508ff 100644 --- a/fhir-profile/src/main/java/com/ibm/fhir/profile/ValueSetSupport.java +++ b/fhir-term/src/main/java/com/ibm/fhir/term/util/ValueSetSupport.java @@ -4,15 +4,15 @@ * SPDX-License-Identifier: Apache-2.0 */ -package com.ibm.fhir.profile; +package com.ibm.fhir.term.util; import static com.ibm.fhir.model.type.String.string; -import static com.ibm.fhir.profile.CodeSystemSupport.findConcept; -import static com.ibm.fhir.profile.CodeSystemSupport.getCodeSystem; -import static com.ibm.fhir.profile.CodeSystemSupport.getConceptPropertyValue; -import static com.ibm.fhir.profile.CodeSystemSupport.getConcepts; -import static com.ibm.fhir.profile.CodeSystemSupport.hasCodeSystemProperty; -import static com.ibm.fhir.profile.CodeSystemSupport.hasConceptProperty; +import static com.ibm.fhir.term.util.CodeSystemSupport.findConcept; +import static com.ibm.fhir.term.util.CodeSystemSupport.getCodeSystem; +import static com.ibm.fhir.term.util.CodeSystemSupport.getConceptPropertyValue; +import static com.ibm.fhir.term.util.CodeSystemSupport.getConcepts; +import static com.ibm.fhir.term.util.CodeSystemSupport.hasCodeSystemProperty; +import static com.ibm.fhir.term.util.CodeSystemSupport.hasConceptProperty; import java.time.ZoneOffset; import java.util.ArrayList; diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTest.java b/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTest.java new file mode 100644 index 00000000000..3c8226b0922 --- /dev/null +++ b/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTest.java @@ -0,0 +1,295 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.term.service.test; + +import static com.ibm.fhir.model.type.String.string; +import static com.ibm.fhir.term.util.ConceptMapSupport.getConceptMap; +import static com.ibm.fhir.term.util.ValueSetSupport.getContains; +import static com.ibm.fhir.term.util.ValueSetSupport.getValueSet; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import org.testng.annotations.Test; + +import com.ibm.fhir.model.resource.CodeSystem.Concept; +import com.ibm.fhir.model.resource.ConceptMap; +import com.ibm.fhir.model.resource.ValueSet; +import com.ibm.fhir.model.type.Code; +import com.ibm.fhir.model.type.Coding; +import com.ibm.fhir.model.type.Uri; +import com.ibm.fhir.model.type.code.ConceptMapEquivalence; +import com.ibm.fhir.model.type.code.ConceptSubsumptionOutcome; +import com.ibm.fhir.term.service.FHIRTermService; +import com.ibm.fhir.term.spi.Match; +import com.ibm.fhir.term.util.CodeSystemSupport; + +public class FHIRTermServiceTest { + @Test + public void testExpand1() throws Exception { + ValueSet expanded = FHIRTermService.getInstance().expand(getValueSet("http://ibm.com/fhir/ValueSet/vs1|1.0.0")); + + List actual = getContains(expanded.getExpansion()).stream() + .map(contains -> contains.getCode().getValue()) + .collect(Collectors.toList()); + + assertEquals(actual, Arrays.asList("a", "b", "c")); + } + + @Test + public void testExpand2() throws Exception { + ValueSet expanded = FHIRTermService.getInstance().expand(getValueSet("http://ibm.com/fhir/ValueSet/vs2|1.0.0")); + + List actual = getContains(expanded.getExpansion()).stream() + .map(contains -> contains.getCode().getValue()) + .collect(Collectors.toList()); + + assertEquals(actual, Arrays.asList("a", "b", "c", "d", "e")); + } + + @Test + public void testExpand3() throws Exception { + ValueSet expanded = FHIRTermService.getInstance().expand(getValueSet("http://ibm.com/fhir/ValueSet/vs3|1.0.0")); + + List actual = getContains(expanded.getExpansion()).stream() + .map(contains -> contains.getCode().getValue()) + .collect(Collectors.toList()); + + assertEquals(actual, Arrays.asList("g", "x", "h", "i")); + } + + @Test + public void testExpand4() throws Exception { + ValueSet expanded = FHIRTermService.getInstance().expand(getValueSet("http://ibm.com/fhir/ValueSet/vs4|1.0.0")); + + List actual = getContains(expanded.getExpansion()).stream() + .map(contains -> contains.getCode().getValue()) + .collect(Collectors.toList()); + + assertEquals(actual, Arrays.asList("j", "l", "a", "b", "d", "m", "p", "q", "s", "o", "t", "u")); + } + + @Test + public void testExpand5() throws Exception { + ValueSet expanded = FHIRTermService.getInstance().expand(getValueSet("http://ibm.com/fhir/ValueSet/vs5|1.0.0")); + + List actual = getContains(expanded.getExpansion()).stream() + .map(contains -> contains.getCode().getValue()) + .collect(Collectors.toList()); + + assertEquals(actual, Arrays.asList("m", "p", "q", "s", "o", "t", "u")); + } + + @Test + public void testLookup() throws Exception { + Coding coding = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("t")) + .build(); + + Concept concept = FHIRTermService.getInstance().lookup(coding); + + assertNotNull(concept); + assertEquals(concept.getCode().getValue(), "t"); + assertTrue(CodeSystemSupport.hasConceptProperty(concept, Code.of("property1"))); + } + + @Test + public void testSubsumes1() throws Exception { + Coding codingA = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("t")) + .build(); + + Coding codingB = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("t")) + .build(); + + ConceptSubsumptionOutcome outcome = FHIRTermService.getInstance().subsumes(codingA, codingB); + + assertEquals(outcome, ConceptSubsumptionOutcome.EQUIVALENT); + } + + @Test + public void testSubsumes2() throws Exception { + Coding codingA = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("t")) + .build(); + + Coding codingB = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("u")) + .build(); + + ConceptSubsumptionOutcome outcome = FHIRTermService.getInstance().subsumes(codingA, codingB); + + assertEquals(outcome, ConceptSubsumptionOutcome.SUBSUMES); + } + + @Test + public void testSubsumes3() throws Exception { + Coding codingA = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("u")) + .build(); + + Coding codingB = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("t")) + .build(); + + ConceptSubsumptionOutcome outcome = FHIRTermService.getInstance().subsumes(codingA, codingB); + + assertEquals(outcome, ConceptSubsumptionOutcome.SUBSUMED_BY); + } + + @Test + public void testSubsumes4() throws Exception { + Coding codingA = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("o")) + .build(); + + Coding codingB = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("t")) + .build(); + + ConceptSubsumptionOutcome outcome = FHIRTermService.getInstance().subsumes(codingA, codingB); + + assertEquals(outcome, ConceptSubsumptionOutcome.NOT_SUBSUMED); + } + + @Test + public void testClosure() throws Exception { + Coding coding = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("m")) + .build(); + + Set closure = FHIRTermService.getInstance().closure(coding); + + List actual = closure.stream() + .map(contains -> contains.getCode().getValue()) + .collect(Collectors.toList()); + + assertEquals(actual, Arrays.asList("m", "p", "q", "r")); + } + + @Test + public void testValidateCode1() throws Exception { + Coding coding = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("m")) + .build(); + + assertTrue(FHIRTermService.getInstance().validateCode(coding)); + } + + @Test + public void testValidateCode2() throws Exception { + Coding coding = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("x")) + .build(); + + assertFalse(FHIRTermService.getInstance().validateCode(coding)); + } + + @Test + public void testValidateCode3() throws Exception { + ValueSet valueSet = getValueSet("http://ibm.com/fhir/ValueSet/vs5|1.0.0"); + + Coding coding = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("m")) + .build(); + + assertTrue(FHIRTermService.getInstance().validateCode(valueSet, coding)); + } + + @Test + public void testValidateCode4() throws Exception { + ValueSet valueSet = getValueSet("http://ibm.com/fhir/ValueSet/vs5|1.0.0"); + + Coding coding = Coding.builder() + .system(Uri.of("http://ibm.com/fhir/CodeSystem/cs5")) + .version(string("1.0.0")) + .code(Code.of("x")) + .build(); + + assertFalse(FHIRTermService.getInstance().validateCode(valueSet, coding)); + } + + @Test + public void testTranslate1() throws Exception { + ConceptMap conceptMap = getConceptMap("http://ibm.com/fhir/ConceptMap/snomed-ucum"); + + Coding coding = Coding.builder() + .system(Uri.of("http://snomed.info/sct")) + .code(Code.of("258672001")) + .build(); + + Match expected = Match.builder() + .equivalence(ConceptMapEquivalence.EQUIVALENT) + .concept(Coding.builder() + .system(Uri.of("http://unitsofmeasure.org")) + .version(string("2015")) + .code(Code.of("cm")) + .build()) + .build(); + + List matches = FHIRTermService.getInstance().translate(conceptMap, coding); + assertEquals(matches.size(), 1); + assertEquals(matches, Collections.singletonList(expected)); + } + + @Test + public void testTranslate2() throws Exception { + ConceptMap conceptMap = getConceptMap("http://ibm.com/fhir/ConceptMap/snomed-ucum"); + + Coding coding = Coding.builder() + .system(Uri.of("http://snomed.info/sct")) + .code(Code.of("258773002")) + .build(); + + Match expected = Match.builder() + .equivalence(ConceptMapEquivalence.EQUIVALENT) + .concept(Coding.builder() + .system(Uri.of("http://unitsofmeasure.org")) + .version(string("2015")) + .code(Code.of("mL")) + .build()) + .build(); + + List matches = FHIRTermService.getInstance().translate(conceptMap, coding); + assertEquals(matches.size(), 1); + assertEquals(matches, Collections.singletonList(expected)); + } +} diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTestResourceProvider.java b/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTestResourceProvider.java new file mode 100644 index 00000000000..aedee20af2a --- /dev/null +++ b/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTestResourceProvider.java @@ -0,0 +1,16 @@ +/* + * (C) Copyright IBM Corp. 2019, 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.term.service.test; + +import com.ibm.fhir.registry.util.PackageRegistryResourceProvider; + +public class FHIRTermServiceTestResourceProvider extends PackageRegistryResourceProvider { + @Override + public String getPackageId() { + return "fhir.term.service.test"; + } +} diff --git a/fhir-term/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider b/fhir-term/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider new file mode 100644 index 00000000000..8017767691d --- /dev/null +++ b/fhir-term/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider @@ -0,0 +1 @@ +com.ibm.fhir.term.service.test.FHIRTermServiceTestResourceProvider \ No newline at end of file diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/.index.json b/fhir-term/src/test/resources/fhir/term/service/test/package/.index.json similarity index 90% rename from fhir-profile/src/test/resources/fhir/profile/test/package/.index.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/.index.json index 2776b2d67a8..d567dea0c36 100644 --- a/fhir-profile/src/test/resources/fhir/profile/test/package/.index.json +++ b/fhir-term/src/test/resources/fhir/term/service/test/package/.index.json @@ -70,6 +70,13 @@ "id": "vs5", "url": "http://ibm.com/fhir/ValueSet/vs5", "version": "1.0.0" + }, + { + "filename": "ConceptMap-snomed-ucum.json", + "resourceType": "ConceptMap", + "id": "snomed-ucum", + "url": "http://ibm.com/fhir/ConceptMap/snomed-ucum", + "version": "0.1.0" } ] } \ No newline at end of file diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs1.json b/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs1.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs1.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs1.json diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs2.json b/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs2.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs2.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs2.json diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs3.json b/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs3.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs3.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs3.json diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs4.json b/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs4.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs4.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs4.json diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs5.json b/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs5.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/CodeSystem-cs5.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs5.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/ConceptMap-snomed-ucum.json b/fhir-term/src/test/resources/fhir/term/service/test/package/ConceptMap-snomed-ucum.json new file mode 100755 index 00000000000..50f1c96abff --- /dev/null +++ b/fhir-term/src/test/resources/fhir/term/service/test/package/ConceptMap-snomed-ucum.json @@ -0,0 +1,38 @@ +{ + "resourceType": "ConceptMap", + "id": "snomed-ucum", + "url": "http://ibm.com/fhir/ConceptMap/snomed-ucum", + "version": "0.1.0", + "status": "draft", + "sourceCanonical": "http://snomed.info/sct?fhir_vs", + "targetCanonical": "http://hl7.org/fhir/ValueSet/ucum-common", + "group": [ + { + "source": "http://snomed.info/sct", + "target": "http://unitsofmeasure.org", + "targetVersion": "2015", + "element": [ + { + "code": "258672001", + "target": [ + { + "code": "cm", + "equivalence": "equivalent", + "comment": "exact match" + } + ] + }, + { + "code": "258773002", + "target": [ + { + "code": "mL", + "equivalence": "equivalent", + "comment": "exact match" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs1.json b/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs1.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs1.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs1.json diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs2.json b/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs2.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs2.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs2.json diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs3.json b/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs3.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs3.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs3.json diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs4.json b/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs4.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs4.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs4.json diff --git a/fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs5.json b/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs5.json similarity index 100% rename from fhir-profile/src/test/resources/fhir/profile/test/package/ValueSet-vs5.json rename to fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs5.json diff --git a/fhir-tools/dependency-reduced-pom.xml b/fhir-tools/dependency-reduced-pom.xml index 1e22cf173d4..6d1bbc8ce93 100644 --- a/fhir-tools/dependency-reduced-pom.xml +++ b/fhir-tools/dependency-reduced-pom.xml @@ -4,7 +4,7 @@ com.ibm.fhir fhir-tools maven-plugin - 4.1.1-SNAPSHOT + 4.2.2-SNAPSHOT diff --git a/fhir-tools/src/main/java/com/ibm/fhir/tools/CodeGenerator.java b/fhir-tools/src/main/java/com/ibm/fhir/tools/CodeGenerator.java index bfb5b56a6ec..e2e1c3676d0 100644 --- a/fhir-tools/src/main/java/com/ibm/fhir/tools/CodeGenerator.java +++ b/fhir-tools/src/main/java/com/ibm/fhir/tools/CodeGenerator.java @@ -259,6 +259,7 @@ public void generate(String basePath) { generateJsonParser(basePath); generateXMLParser(basePath); generateModelClassesFile(basePath); + generateCodeSubtypeClass("ConceptSubsumptionOutcome", "http://hl7.org/fhir/ValueSet/concept-subsumption-outcome", basePath); } private void generateModelClassesFile(String basePath) { @@ -2844,201 +2845,205 @@ private void generateCodeSubtypeClasses(JsonObject structureDefinition, String b String[] tokens = valueSet.split("\\|"); valueSet = tokens[0]; - CodeBuilder cb = new CodeBuilder(); - String packageName = "com.ibm.fhir.model.type.code"; - cb.lines(HEADER).newLine(); - cb._package(packageName).newLine(); + generateCodeSubtypeClass(bindingName, valueSet, basePath); + } + } + } - cb._import("com.ibm.fhir.model.annotation.System"); - cb._import("com.ibm.fhir.model.type.Code"); - cb._import("com.ibm.fhir.model.type.Extension"); - cb._import("com.ibm.fhir.model.type.String").newLine(); + public void generateCodeSubtypeClass(String bindingName, String valueSet, String basePath) { + CodeBuilder cb = new CodeBuilder(); + String packageName = "com.ibm.fhir.model.type.code"; + cb.lines(HEADER).newLine(); + cb._package(packageName).newLine(); - cb._import("java.util.Collection"); - cb._import("java.util.Objects").newLine(); + cb._import("com.ibm.fhir.model.annotation.System"); + cb._import("com.ibm.fhir.model.type.Code"); + cb._import("com.ibm.fhir.model.type.Extension"); + cb._import("com.ibm.fhir.model.type.String").newLine(); - cb._import("javax.annotation.Generated").newLine(); + cb._import("java.util.Collection"); + cb._import("java.util.Objects").newLine(); - String system = getSystem(valueSet); - cb.annotation("System", quote(system)); - cb.annotation("Generated", quote("com.ibm.fhir.tools.CodeGenerator")); - cb._class(mods("public"), bindingName, "Code"); - - List concepts = getConcepts(valueSet); - for (JsonObject concept : concepts) { - String value = concept.getString("code"); - String enumConstantName = getEnumConstantName(bindingName, value); - generateConceptJavadoc(concept, cb); - cb.field(mods("public", "static", "final"), bindingName, enumConstantName, bindingName + ".builder().value(ValueSet." + enumConstantName + ").build()") - .newLine(); - } + cb._import("javax.annotation.Generated").newLine(); - cb.field(mods("private", "volatile"), "int", "hashCode").newLine(); + String system = getSystem(valueSet); + cb.annotation("System", quote(system)); + cb.annotation("Generated", quote("com.ibm.fhir.tools.CodeGenerator")); + cb._class(mods("public"), bindingName, "Code"); - cb.constructor(mods("private"), bindingName, params("Builder builder")) - ._super(args("builder")) - .end().newLine(); + List concepts = getConcepts(valueSet); + for (JsonObject concept : concepts) { + String value = concept.getString("code"); + String enumConstantName = getEnumConstantName(bindingName, value); + generateConceptJavadoc(concept, cb); + cb.field(mods("public", "static", "final"), bindingName, enumConstantName, bindingName + ".builder().value(ValueSet." + enumConstantName + ").build()") + .newLine(); + } - cb.method(mods("public"), "ValueSet", "getValueAsEnumConstant") - ._return("(value != null) ? ValueSet.from(value) : null") - .end().newLine(); + cb.field(mods("private", "volatile"), "int", "hashCode").newLine(); - cb.method(mods("public", "static"), bindingName, "of", args("ValueSet value")) - ._switch("value"); - for (JsonObject concept : concepts) { - String value = concept.getString("code"); - String enumConstantName = getEnumConstantName(bindingName, value); - cb._case(enumConstantName) - ._return(enumConstantName); - } - cb._default() - ._throw(_new("IllegalStateException", args("value.name()"))); - cb.end(); - cb.end().newLine(); + cb.constructor(mods("private"), bindingName, params("Builder builder")) + ._super(args("builder")) + .end().newLine(); - cb.method(mods("public", "static"), bindingName, "of", args("java.lang.String value")) - ._return("of(ValueSet.from(value))") - .end().newLine(); + cb.method(mods("public"), "ValueSet", "getValueAsEnumConstant") + ._return("(value != null) ? ValueSet.from(value) : null") + .end().newLine(); - cb.method(mods("public", "static"), "String", "string", args("java.lang.String value")) - ._return("of(ValueSet.from(value))") - .end().newLine(); + cb.method(mods("public", "static"), bindingName, "of", args("ValueSet value")) + ._switch("value"); + for (JsonObject concept : concepts) { + String value = concept.getString("code"); + String enumConstantName = getEnumConstantName(bindingName, value); + cb._case(enumConstantName) + ._return(enumConstantName); + } + cb._default() + ._throw(_new("IllegalStateException", args("value.name()"))); + cb.end(); + cb.end().newLine(); - cb.method(mods("public", "static"), "Code", "code", args("java.lang.String value")) - ._return("of(ValueSet.from(value))") - .end().newLine(); + cb.method(mods("public", "static"), bindingName, "of", args("java.lang.String value")) + ._return("of(ValueSet.from(value))") + .end().newLine(); - cb.override(); - cb.method(mods("public"), "boolean", "equals", params("Object obj")); - cb._if("this == obj") - ._return("true") - ._end(); - cb._if("obj == null") - ._return("false") - ._end(); - cb._if("getClass() != obj.getClass()") - ._return("false") - ._end(); - cb.assign(bindingName + " other", "(" + bindingName + ") obj"); - cb._return("Objects.equals(id, other.id) && Objects.equals(extension, other.extension) && Objects.equals(value, other.value)"); - cb.end().newLine(); + cb.method(mods("public", "static"), "String", "string", args("java.lang.String value")) + ._return("of(ValueSet.from(value))") + .end().newLine(); - cb.override(); - cb.method(mods("public"), "int", "hashCode"); - cb.assign("int result", "hashCode"); - cb._if("result == 0"); - cb.assign("result", "Objects.hash(id, extension, value)"); - cb.assign("hashCode", "result"); - cb._end(); - cb._return("result"); - cb.end().newLine(); + cb.method(mods("public", "static"), "Code", "code", args("java.lang.String value")) + ._return("of(ValueSet.from(value))") + .end().newLine(); - cb.method(mods("public"), "Builder", "toBuilder") - .assign("Builder builder", "new Builder()") - .invoke("builder", "id", args("id")) - .invoke("builder", "extension", args("extension")) - .invoke("builder", "value", args("value")) - ._return("builder") - .end().newLine(); + cb.override(); + cb.method(mods("public"), "boolean", "equals", params("Object obj")); + cb._if("this == obj") + ._return("true") + ._end(); + cb._if("obj == null") + ._return("false") + ._end(); + cb._if("getClass() != obj.getClass()") + ._return("false") + ._end(); + cb.assign(bindingName + " other", "(" + bindingName + ") obj"); + cb._return("Objects.equals(id, other.id) && Objects.equals(extension, other.extension) && Objects.equals(value, other.value)"); + cb.end().newLine(); - cb.method(mods("public", "static"), "Builder", "builder") - ._return(_new("Builder")) - .end().newLine(); + cb.override(); + cb.method(mods("public"), "int", "hashCode"); + cb.assign("int result", "hashCode"); + cb._if("result == 0"); + cb.assign("result", "Objects.hash(id, extension, value)"); + cb.assign("hashCode", "result"); + cb._end(); + cb._return("result"); + cb.end().newLine(); - cb._class(mods("public", "static"), "Builder", "Code.Builder"); + cb.method(mods("public"), "Builder", "toBuilder") + .assign("Builder builder", "new Builder()") + .invoke("builder", "id", args("id")) + .invoke("builder", "extension", args("extension")) + .invoke("builder", "value", args("value")) + ._return("builder") + .end().newLine(); - cb.constructor(mods("private"), "Builder") - ._super() - .end().newLine(); + cb.method(mods("public", "static"), "Builder", "builder") + ._return(_new("Builder")) + .end().newLine(); - cb.override(); - cb.method(mods("public"), "Builder", "id", args("java.lang.String id")) - ._return("(Builder) super.id(id)") - .end().newLine(); + cb._class(mods("public", "static"), "Builder", "Code.Builder"); - cb.override(); - cb.method(mods("public"), "Builder", "extension", args("Extension... extension")) - ._return("(Builder) super.extension(extension)") - .end().newLine(); + cb.constructor(mods("private"), "Builder") + ._super() + .end().newLine(); - cb.override(); - cb.method(mods("public"), "Builder", "extension", args("Collection extension")) - ._return("(Builder) super.extension(extension)") - .end().newLine(); + cb.override(); + cb.method(mods("public"), "Builder", "id", args("java.lang.String id")) + ._return("(Builder) super.id(id)") + .end().newLine(); - cb.override(); - cb.method(mods("public"), "Builder", "value", args("java.lang.String value")) - ._return("(value != null) ? (Builder) super.value(ValueSet.from(value).value()) : this") - .end().newLine(); + cb.override(); + cb.method(mods("public"), "Builder", "extension", args("Extension... extension")) + ._return("(Builder) super.extension(extension)") + .end().newLine(); - cb.method(mods("public"), "Builder", "value", args("ValueSet value")) - ._return("(value != null) ? (Builder) super.value(value.value()) : this") - .end().newLine(); + cb.override(); + cb.method(mods("public"), "Builder", "extension", args("Collection extension")) + ._return("(Builder) super.extension(extension)") + .end().newLine(); - cb.override(); - cb.method(mods("public"), bindingName, "build") - ._return(_new(bindingName, args("this"))) - .end(); + cb.override(); + cb.method(mods("public"), "Builder", "value", args("java.lang.String value")) + ._return("(value != null) ? (Builder) super.value(ValueSet.from(value).value()) : this") + .end().newLine(); - cb._end().newLine(); + cb.method(mods("public"), "Builder", "value", args("ValueSet value")) + ._return("(value != null) ? (Builder) super.value(value.value()) : this") + .end().newLine(); - String definition = getValueSetDefinition(valueSet); - if (definition != null) { - cb.javadoc(definition); - } - cb._enum(mods("public"), "ValueSet"); + cb.override(); + cb.method(mods("public"), bindingName, "build") + ._return(_new(bindingName, args("this"))) + .end(); + cb._end().newLine(); - for (JsonObject concept : concepts) { - String value = concept.getString("code"); - String enumConstantName = getEnumConstantName(bindingName, value); - generateConceptJavadoc(concept, cb); - cb.enumConstant(enumConstantName, args(quote(value)), isLast(concepts, concept)).newLine(); - } + String definition = getValueSetDefinition(valueSet); + if (definition != null) { + cb.javadoc(definition); + } + cb._enum(mods("public"), "ValueSet"); - cb.field(mods("private", "final"), "java.lang.String", "value").newLine(); - cb.constructor(mods(), "ValueSet", args("java.lang.String value")) - .assign(_this("value"), "value") - .end().newLine(); + for (JsonObject concept : concepts) { + String value = concept.getString("code"); + String enumConstantName = getEnumConstantName(bindingName, value); + generateConceptJavadoc(concept, cb); + cb.enumConstant(enumConstantName, args(quote(value)), isLast(concepts, concept)).newLine(); + } - cb.method(mods("public"), "java.lang.String", "value") - ._return("value") - .end().newLine(); + cb.field(mods("private", "final"), "java.lang.String", "value").newLine(); - cb.method(mods("public", "static"), "ValueSet", "from", params("java.lang.String value")) - ._foreach("ValueSet c", "ValueSet.values()") - ._if("c.value.equals(value)") - ._return("c") - ._end() - ._end() - ._throw(_new("IllegalArgumentException", args("value"))) - .end(); + cb.constructor(mods(), "ValueSet", args("java.lang.String value")) + .assign(_this("value"), "value") + .end().newLine(); - cb._end(); + cb.method(mods("public"), "java.lang.String", "value") + ._return("value") + .end().newLine(); - cb._end(); + cb.method(mods("public", "static"), "ValueSet", "from", params("java.lang.String value")) + ._foreach("ValueSet c", "ValueSet.values()") + ._if("c.value.equals(value)") + ._return("c") + ._end() + ._end() + ._throw(_new("IllegalArgumentException", args("value"))) + .end(); + cb._end(); - File file = new File(basePath + "/" + packageName.replace(".", "/") + "/" + bindingName + ".java"); - try { - if (!file.exists()) { - file.getParentFile().mkdirs(); - Files.createFile(file.toPath()); - } - } catch (Exception e) { - throw new Error(e); - } + cb._end(); - try (FileWriter writer = new FileWriter(file)) { - writer.write(cb.toString()); - } catch (Exception e) { - throw new Error(e); - } - codeSubtypeClassNames.add(bindingName); + File file = new File(basePath + "/" + packageName.replace(".", "/") + "/" + bindingName + ".java"); + try { + if (!file.exists()) { + file.getParentFile().mkdirs(); + Files.createFile(file.toPath()); } + } catch (Exception e) { + throw new Error(e); } + + try (FileWriter writer = new FileWriter(file)) { + writer.write(cb.toString()); + } catch (Exception e) { + throw new Error(e); + } + + codeSubtypeClassNames.add(bindingName); } private void generateConceptJavadoc(JsonObject concept, CodeBuilder cb) { diff --git a/fhir-validation/pom.xml b/fhir-validation/pom.xml index 55f700d1a95..c4d6d7ffc60 100644 --- a/fhir-validation/pom.xml +++ b/fhir-validation/pom.xml @@ -59,7 +59,6 @@ - fhir-validation-distribution @@ -117,52 +116,141 @@ false - - - ${project.groupId} - fhir-ig-carin-bb - ${project.version} - - + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.1 + + + + ${project.groupId} + fhir-ig-carin-bb + ${project.version} + + + ${project.groupId} + fhir-ig-us-core + ${project.version} + + + ${project.build.directory}/jars + + + + copy + package + + copy + + + + + + fhir-ig-davinci-pdex-plan-net false - - - ${project.groupId} - fhir-ig-davinci-pdex-plan-net - ${project.version} - - + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.1 + + + + ${project.groupId} + fhir-ig-davinci-pdex-plan-net + ${project.version} + + + ${project.build.directory}/jars + + + + copy + package + + copy + + + + + + fhir-ig-mcode false - - - ${project.groupId} - fhir-ig-mcode - ${project.version} - - + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.1 + + + + ${project.groupId} + fhir-ig-mcode + ${project.version} + + + ${project.build.directory}/jars + + + + copy + package + + copy + + + + + + fhir-ig-us-core false - - - ${project.groupId} - fhir-ig-us-core - ${project.version} - - + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.1 + + + + ${project.groupId} + fhir-ig-us-core + ${project.version} + + + ${project.build.directory}/jars + + + + copy + package + + copy + + + + + + fhir-ig-user-defined @@ -172,10 +260,44 @@ false + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.1 + + + + ${project.groupId} + ${fhir-ig-user-defined} + ${project.version} + + + ${project.build.directory}/jars + + + + copy + package + + copy + + + + + + + + + fhir-term + + false + ${project.groupId} - ${fhir-ig-user-defined} + fhir-term ${project.version} diff --git a/fhir-profile/src/test/java/com/ibm/fhir/profile/test/FHIRProfileTestResourceProvider.java b/fhir-validation/src/test/java/com/ibm/fhir/validation/test/FHIRValidationTestResourceProvider.java similarity index 56% rename from fhir-profile/src/test/java/com/ibm/fhir/profile/test/FHIRProfileTestResourceProvider.java rename to fhir-validation/src/test/java/com/ibm/fhir/validation/test/FHIRValidationTestResourceProvider.java index 3d64402ab0d..368e6c5dc5f 100644 --- a/fhir-profile/src/test/java/com/ibm/fhir/profile/test/FHIRProfileTestResourceProvider.java +++ b/fhir-validation/src/test/java/com/ibm/fhir/validation/test/FHIRValidationTestResourceProvider.java @@ -4,13 +4,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package com.ibm.fhir.profile.test; +package com.ibm.fhir.validation.test; import com.ibm.fhir.registry.util.PackageRegistryResourceProvider; -public class FHIRProfileTestResourceProvider extends PackageRegistryResourceProvider { +public class FHIRValidationTestResourceProvider extends PackageRegistryResourceProvider { @Override public String getPackageId() { - return "fhir.profile.test"; + return "fhir.validation.test"; } } diff --git a/fhir-validation/src/test/java/com/ibm/fhir/validation/test/ProfileConstraintTest.java b/fhir-validation/src/test/java/com/ibm/fhir/validation/test/ProfileConstraintTest.java new file mode 100644 index 00000000000..ca87405390e --- /dev/null +++ b/fhir-validation/src/test/java/com/ibm/fhir/validation/test/ProfileConstraintTest.java @@ -0,0 +1,71 @@ +/* + * (C) Copyright IBM Corp. 2020 + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.ibm.fhir.validation.test; + +import static com.ibm.fhir.model.type.String.string; +import static com.ibm.fhir.validation.util.FHIRValidationUtil.countErrors; +import static com.ibm.fhir.validation.util.FHIRValidationUtil.countWarnings; +import static org.testng.Assert.assertEquals; + +import java.util.List; + +import org.testng.annotations.Test; + +import com.ibm.fhir.model.annotation.Constraint; +import com.ibm.fhir.model.resource.Coverage; +import com.ibm.fhir.model.resource.OperationOutcome.Issue; +import com.ibm.fhir.model.resource.StructureDefinition; +import com.ibm.fhir.model.type.Canonical; +import com.ibm.fhir.model.type.DateTime; +import com.ibm.fhir.model.type.Meta; +import com.ibm.fhir.model.type.Period; +import com.ibm.fhir.model.type.Reference; +import com.ibm.fhir.model.type.code.CoverageStatus; +import com.ibm.fhir.profile.ConstraintGenerator; +import com.ibm.fhir.registry.FHIRRegistry; +import com.ibm.fhir.validation.FHIRValidator; + +public class ProfileConstraintTest { + @Test + public void testProfileConstraint() throws Exception { + StructureDefinition structureDefinition = FHIRRegistry.getInstance().getResource("http://myurl.org/my-coverage", StructureDefinition.class); + ConstraintGenerator generator = new ConstraintGenerator(structureDefinition); + List constraints = generator.generate(); + assertEquals(constraints.size(), 1); + + structureDefinition = FHIRRegistry.getInstance().getResource("http://myurl.org/my-extension", StructureDefinition.class); + generator = new ConstraintGenerator(structureDefinition); + constraints = generator.generate(); + assertEquals(constraints.size(), 2); + + structureDefinition = FHIRRegistry.getInstance().getResource("http://myurl.org/period-with-my-extension", StructureDefinition.class); + generator = new ConstraintGenerator(structureDefinition); + constraints = generator.generate(); + assertEquals(constraints.size(), 1); + + Coverage coverage = Coverage.builder() + .status(CoverageStatus.ACTIVE) + .beneficiary(Reference.builder() + .reference(string("none")) + .build()) + .payor(Reference.builder() + .reference(string("none")) + .build()) + .period(Period.builder() + .start(DateTime.of("2020-01-01")) + .end(DateTime.of("2020-01-31")) + .build()) + .meta(Meta.builder() + .profile(Canonical.of("http://myurl.org/my-coverage")) + .build()) + .build(); + + List issues = FHIRValidator.validator().validate(coverage); + assertEquals(countErrors(issues), 2); + assertEquals(countWarnings(issues), 1); + } +} \ No newline at end of file diff --git a/fhir-validation/src/test/java/com/ibm/fhir/validation/test/ValidationProcessor.java b/fhir-validation/src/test/java/com/ibm/fhir/validation/test/ValidationProcessor.java index c5b9306e6a8..a157d2aab6e 100644 --- a/fhir-validation/src/test/java/com/ibm/fhir/validation/test/ValidationProcessor.java +++ b/fhir-validation/src/test/java/com/ibm/fhir/validation/test/ValidationProcessor.java @@ -55,7 +55,7 @@ public void process(String jsonFile, Resource resource) throws Exception { throw new Exception("Input resource failed validation: \n\t" + String.join("\n\t", issueStrings)); } else { - logger.info("Validation issues on '" + jsonFile + "' [INFO]: \n\t" + String.join("\n\t", issueStrings)); + logger.fine("Validation issues on '" + jsonFile + "' [INFO]: \n\t" + String.join("\n\t", issueStrings)); } } } diff --git a/fhir-validation/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider b/fhir-validation/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider new file mode 100644 index 00000000000..9b3f13e4f2d --- /dev/null +++ b/fhir-validation/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider @@ -0,0 +1 @@ +com.ibm.fhir.validation.test.FHIRValidationTestResourceProvider \ No newline at end of file diff --git a/fhir-validation/src/test/resources/fhir/validation/test/package/.index.json b/fhir-validation/src/test/resources/fhir/validation/test/package/.index.json new file mode 100644 index 00000000000..3bbf5e47402 --- /dev/null +++ b/fhir-validation/src/test/resources/fhir/validation/test/package/.index.json @@ -0,0 +1,32 @@ +{ + "index-version": 1, + "files": [ + { + "filename": "my-coverage.json", + "resourceType": "StructureDefinition", + "id": "my-coverage", + "url": "http://myurl.org/my-coverage", + "version": "0.1.0", + "kind": "resource", + "type": "Coverage" + }, + { + "filename": "my-extension.json", + "resourceType": "StructureDefinition", + "id": "my-extension", + "url": "http://myurl.org/my-extension", + "version": "0.1.0", + "kind": "complex-type", + "type": "Extension" + }, + { + "filename": "period-with-my-extension.json", + "resourceType": "StructureDefinition", + "id": "period-with-my-extension", + "url": "http://myurl.org/period-with-my-extension", + "version": "0.1.0", + "kind": "complex-type", + "type": "Period" + } + ] +} \ No newline at end of file diff --git a/fhir-validation/src/test/resources/fhir/validation/test/package/my-coverage.json b/fhir-validation/src/test/resources/fhir/validation/test/package/my-coverage.json new file mode 100644 index 00000000000..e327b2f5e80 --- /dev/null +++ b/fhir-validation/src/test/resources/fhir/validation/test/package/my-coverage.json @@ -0,0 +1,2044 @@ +{ + "resourceType": "StructureDefinition", + "id": "my-coverage", + "url": "http://myurl.org/my-coverage", + "version": "0.1.0", + "name": "MyCoverage", + "status": "active", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "workflow", + "uri": "http://hl7.org/fhir/workflow", + "name": "Workflow Pattern" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + }, + { + "identity": "cdanetv4", + "uri": "http://www.cda-adc.ca/en/services/cdanet/", + "name": "Canadian Dental Association eclaims standard" + }, + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "cpha3pharm", + "uri": "http://www.pharmacists.ca/", + "name": "Canadian Pharmacy Associaiton eclaims standard" + } + ], + "kind": "resource", + "abstract": false, + "type": "Coverage", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Coverage", + "derivation": "constraint", + "snapshot": { + "element": [ + { + "id": "Coverage", + "path": "Coverage", + "short": "Insurance or medical plan or a payment agreement", + "definition": "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.", + "comment": "The Coverage resource contains the insurance card level information, which is customary to provide on claims and other communications between providers and insurers.", + "min": 0, + "max": "*", + "base": { + "path": "Coverage", + "min": 0, + "max": "*" + }, + "constraint": [ + { + "key": "dom-2", + "severity": "error", + "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources", + "expression": "contained.contained.empty()", + "xpath": "not(parent::f:contained and f:contained)", + "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key": "dom-3", + "severity": "error", + "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", + "expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", + "xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", + "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key": "dom-4", + "severity": "error", + "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", + "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", + "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", + "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key": "dom-5", + "severity": "error", + "human": "If a resource is contained in another resource, it SHALL NOT have a security label", + "expression": "contained.meta.security.empty()", + "xpath": "not(exists(f:contained/*/f:meta/f:security))", + "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", + "valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." + } + ], + "key": "dom-6", + "severity": "warning", + "human": "A resource should have narrative for robust management", + "expression": "text.`div`.exists()", + "xpath": "exists(f:text/h:div)", + "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "Entity. Role, or Act" + }, + { + "identity": "workflow", + "map": "Event" + }, + { + "identity": "rim", + "map": "Coverage" + } + ] + }, + { + "id": "Coverage.id", + "path": "Coverage.id", + "short": "Logical id of this artifact", + "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", + "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", + "min": 0, + "max": "1", + "base": { + "path": "Resource.id", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "http://hl7.org/fhirpath/System.String", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl": "string" + } + ] + } + ], + "isModifier": false, + "isSummary": true + }, + { + "id": "Coverage.meta", + "path": "Coverage.meta", + "short": "Metadata about the resource", + "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", + "min": 0, + "max": "1", + "base": { + "path": "Resource.meta", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "Meta" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true + }, + { + "id": "Coverage.implicitRules", + "path": "Coverage.implicitRules", + "short": "A set of rules under which this content was created", + "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", + "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", + "min": 0, + "max": "1", + "base": { + "path": "Resource.implicitRules", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "uri" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": true, + "isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", + "isSummary": true + }, + { + "id": "Coverage.language", + "path": "Coverage.language", + "short": "Language of the resource content", + "definition": "The base language in which the resource is written.", + "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", + "min": 0, + "max": "1", + "base": { + "path": "Resource.language", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "code" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false, + "binding": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", + "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString": "Language" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", + "valueBoolean": true + } + ], + "strength": "preferred", + "description": "A human language.", + "valueSet": "http://hl7.org/fhir/ValueSet/languages" + } + }, + { + "id": "Coverage.text", + "path": "Coverage.text", + "short": "Text summary of the resource, for human interpretation", + "definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", + "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", + "alias": [ + "narrative", + "html", + "xhtml", + "display" + ], + "min": 0, + "max": "1", + "base": { + "path": "DomainResource.text", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "Narrative" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "Act.text?" + } + ] + }, + { + "id": "Coverage.contained", + "path": "Coverage.contained", + "short": "Contained, inline Resources", + "definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", + "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", + "alias": [ + "inline resources", + "anonymous resources", + "contained resources" + ], + "min": 0, + "max": "*", + "base": { + "path": "DomainResource.contained", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Resource" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "N/A" + } + ] + }, + { + "id": "Coverage.extension", + "path": "Coverage.extension", + "short": "Additional content defined by implementations", + "definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias": [ + "extensions", + "user content" + ], + "min": 0, + "max": "*", + "base": { + "path": "DomainResource.extension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "N/A" + } + ] + }, + { + "id": "Coverage.modifierExtension", + "path": "Coverage.modifierExtension", + "short": "Extensions that cannot be ignored", + "definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", + "alias": [ + "extensions", + "user content" + ], + "min": 0, + "max": "*", + "base": { + "path": "DomainResource.modifierExtension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": true, + "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "N/A" + } + ] + }, + { + "id": "Coverage.identifier", + "path": "Coverage.identifier", + "short": "Business Identifier for the coverage", + "definition": "A unique identifier assigned to this coverage.", + "comment": "The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Certificate number, Personal Health Number or Case ID. May be constructed as the concatenation of the Coverage.SubscriberID and the Coverage.dependant.", + "requirements": "Allows coverages to be distinguished and referenced.", + "min": 0, + "max": "*", + "base": { + "path": "Coverage.identifier", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Identifier" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "workflow", + "map": "Event.identifier" + }, + { + "identity": "w5", + "map": "FiveWs.identifier" + }, + { + "identity": "cdanetv4", + "map": "C02" + }, + { + "identity": "v2", + "map": "IN1-2" + }, + { + "identity": "rim", + "map": ".id" + }, + { + "identity": "cpha3pharm", + "map": "C.32, C.33, C.39" + } + ] + }, + { + "id": "Coverage.status", + "path": "Coverage.status", + "short": "active | cancelled | draft | entered-in-error", + "definition": "The status of the resource instance.", + "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the coverage as not currently valid.", + "requirements": "Need to track the status of the resource as 'draft' resources may undergo further edits while 'active' resources are immutable and may only have their status changed to 'cancelled'.", + "min": 1, + "max": "1", + "base": { + "path": "Coverage.status", + "min": 1, + "max": "1" + }, + "type": [ + { + "code": "code" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": true, + "isModifierReason": "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", + "isSummary": true, + "binding": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString": "CoverageStatus" + } + ], + "strength": "required", + "description": "A code specifying the state of the resource instance.", + "valueSet": "http://hl7.org/fhir/ValueSet/fm-status|4.0.1" + }, + "mapping": [ + { + "identity": "workflow", + "map": "Event.status" + }, + { + "identity": "w5", + "map": "FiveWs.status" + }, + { + "identity": "rim", + "map": "Act.status" + } + ] + }, + { + "id": "Coverage.type", + "path": "Coverage.type", + "short": "Coverage category such as medical or accident", + "definition": "The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization.", + "requirements": "The order of application of coverages is dependent on the types of coverage.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.type", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "CodeableConcept" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "binding": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString": "CoverageType" + } + ], + "strength": "preferred", + "description": "The type of insurance: public health, worker compensation; private accident, auto, private health, etc.) or a direct payment by an individual or organization.", + "valueSet": "http://hl7.org/fhir/ValueSet/coverage-type" + }, + "mapping": [ + { + "identity": "w5", + "map": "FiveWs.class" + }, + { + "identity": "v2", + "map": "IN1-15" + } + ] + }, + { + "id": "Coverage.policyHolder", + "path": "Coverage.policyHolder", + "short": "Owner of the policy", + "definition": "The party who 'owns' the insurance policy.", + "comment": "For example: may be an individual, corporation or the subscriber's employer.", + "requirements": "This provides employer information in the case of Worker's Compensation and other policies.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.policyHolder", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Patient", + "http://hl7.org/fhir/StructureDefinition/RelatedPerson", + "http://hl7.org/fhir/StructureDefinition/Organization" + ] + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "w5", + "map": "FiveWs.subject[x]" + }, + { + "identity": "cdanetv4", + "map": "D01 through D09" + }, + { + "identity": "v2", + "map": "IN1-16, 18, 19-name of insured, address, date of birth" + }, + { + "identity": "cpha3pharm", + "map": "C.35" + }, + { + "identity": "w5", + "map": "FiveWs.subject" + } + ] + }, + { + "id": "Coverage.subscriber", + "path": "Coverage.subscriber", + "short": "Subscriber to the policy", + "definition": "The party who has signed-up for or 'owns' the contractual relationship to the policy or to whom the benefit of the policy for services rendered to them or their family is due.", + "comment": "May be self or a parent in the case of dependants.", + "requirements": "This is the party who is entitled to the benfits under the policy.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.subscriber", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Patient", + "http://hl7.org/fhir/StructureDefinition/RelatedPerson" + ] + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "w5", + "map": "FiveWs.subject[x]" + }, + { + "identity": "cdanetv4", + "map": "D01 through D09" + }, + { + "identity": "v2", + "map": "IN1-16, 18, 19-name of insured, address, date of birth" + }, + { + "identity": "cpha3pharm", + "map": "C.35" + }, + { + "identity": "w5", + "map": "FiveWs.subject" + } + ] + }, + { + "id": "Coverage.subscriberId", + "path": "Coverage.subscriberId", + "short": "ID assigned to the subscriber", + "definition": "The insurer assigned ID for the Subscriber.", + "requirements": "The insurer requires this identifier on correspondance and claims (digital and otherwise).", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.subscriberId", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "string" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "w5", + "map": "FiveWs.subject[x]" + }, + { + "identity": "cdanetv4", + "map": "D01 through D09" + }, + { + "identity": "v2", + "map": "IN1-16, 18, 19-name of insured, address, date of birth" + }, + { + "identity": "cpha3pharm", + "map": "C.35" + }, + { + "identity": "w5", + "map": "FiveWs.subject" + } + ] + }, + { + "id": "Coverage.beneficiary", + "path": "Coverage.beneficiary", + "short": "Plan beneficiary", + "definition": "The party who benefits from the insurance coverage; the patient when products and/or services are provided.", + "requirements": "This is the party who receives treatment for which the costs are reimbursed under the coverage.", + "min": 1, + "max": "1", + "base": { + "path": "Coverage.beneficiary", + "min": 1, + "max": "1" + }, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Patient" + ] + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "workflow", + "map": "Event.subject" + }, + { + "identity": "w5", + "map": "FiveWs.subject[x]" + }, + { + "identity": "cdanetv4", + "map": "D01 through D09" + }, + { + "identity": "v2", + "map": "IN1-16, 18, 19-name of insured, address, date of birth" + }, + { + "identity": "cpha3pharm", + "map": "C.35" + }, + { + "identity": "w5", + "map": "FiveWs.subject" + } + ] + }, + { + "id": "Coverage.dependent", + "path": "Coverage.dependent", + "short": "Dependent number", + "definition": "A unique identifier for a dependent under the coverage.", + "comment": "Periodically the member number is constructed from the subscriberId and the dependant number.", + "requirements": "For some coverages a single identifier is issued to the Subscriber and then a unique dependent number is issued to each beneficiary.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.dependent", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "string" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "cdanetv4", + "map": "C17" + }, + { + "identity": "v2", + "map": "- No exact HL7 v2 equivalent concept seems to exist;" + } + ] + }, + { + "id": "Coverage.relationship", + "path": "Coverage.relationship", + "short": "Beneficiary relationship to the subscriber", + "definition": "The relationship of beneficiary (patient) to the subscriber.", + "comment": "Typically, an individual uses policies which are theirs (relationship='self') before policies owned by others.", + "requirements": "To determine relationship between the patient and the subscriber to determine coordination of benefits.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.relationship", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "CodeableConcept" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false, + "binding": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString": "Relationship" + } + ], + "strength": "extensible", + "description": "The relationship between the Subscriber and the Beneficiary (insured/covered party/patient).", + "valueSet": "http://hl7.org/fhir/ValueSet/subscriber-relationship" + }, + "mapping": [ + { + "identity": "cdanetv4", + "map": "C03" + } + ] + }, + { + "id": "Coverage.period", + "path": "Coverage.period", + "short": "Coverage start and end dates", + "definition": "Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force.", + "requirements": "Some insurers require the submission of the coverage term.", + "min": 1, + "max": "1", + "base": { + "path": "Coverage.period", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "Period", + "profile": [ + "http://myurl.org/period-with-my-extension" + ] + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "workflow", + "map": "Event.occurrence[x]" + }, + { + "identity": "w5", + "map": "FiveWs.done[x]" + }, + { + "identity": "v2", + "map": "IN1-12 / IN1-13" + }, + { + "identity": "rim", + "map": "Act.effectiveTime" + } + ] + }, + { + "id": "Coverage.payor", + "path": "Coverage.payor", + "short": "Issuer of the policy", + "definition": "The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements.", + "comment": "May provide multiple identifiers such as insurance company identifier or business identifier (BIN number).\nFor selfpay it may provide multiple paying persons and/or organizations.", + "requirements": "Need to identify the issuer to target for claim processing and for coordination of benefit processing.", + "min": 1, + "max": "*", + "base": { + "path": "Coverage.payor", + "min": 1, + "max": "*" + }, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Organization", + "http://hl7.org/fhir/StructureDefinition/Patient", + "http://hl7.org/fhir/StructureDefinition/RelatedPerson" + ] + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "w5", + "map": "FiveWs.author" + }, + { + "identity": "cdanetv4", + "map": "A05" + }, + { + "identity": "v2", + "map": "IN1-3" + }, + { + "identity": "cpha3pharm", + "map": "C.30" + } + ] + }, + { + "id": "Coverage.class", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name", + "valueString": "Class" + } + ], + "path": "Coverage.class", + "short": "Additional coverage classifications", + "definition": "A suite of underwriter specific classifiers.", + "comment": "For example may be used to identify a class of coverage or employer group, Policy, Plan.", + "requirements": "The codes provided on the health card which identify or confirm the specific policy for the insurer.", + "min": 0, + "max": "*", + "base": { + "path": "Coverage.class", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "BackboneElement" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false + }, + { + "id": "Coverage.class.id", + "path": "Coverage.class.id", + "representation": [ + "xmlAttr" + ], + "short": "Unique id for inter-element referencing", + "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min": 0, + "max": "1", + "base": { + "path": "Element.id", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "http://hl7.org/fhirpath/System.String", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl": "string" + } + ] + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Coverage.class.extension", + "path": "Coverage.class.extension", + "short": "Additional content defined by implementations", + "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias": [ + "extensions", + "user content" + ], + "min": 0, + "max": "*", + "base": { + "path": "Element.extension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Coverage.class.modifierExtension", + "path": "Coverage.class.modifierExtension", + "short": "Extensions that cannot be ignored even if unrecognized", + "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", + "alias": [ + "extensions", + "user content", + "modifiers" + ], + "min": 0, + "max": "*", + "base": { + "path": "BackboneElement.modifierExtension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": true, + "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", + "isSummary": true, + "mapping": [ + { + "identity": "rim", + "map": "N/A" + } + ] + }, + { + "id": "Coverage.class.type", + "path": "Coverage.class.type", + "short": "Type of class such as 'group' or 'plan'", + "definition": "The type of classification for which an insurer-specific class label or number and optional name is provided, for example may be used to identify a class of coverage or employer group, Policy, Plan.", + "requirements": "The insurer issued label for a specific health card value.", + "min": 1, + "max": "1", + "base": { + "path": "Coverage.class.type", + "min": 1, + "max": "1" + }, + "type": [ + { + "code": "CodeableConcept" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "binding": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString": "CoverageClass" + } + ], + "strength": "extensible", + "description": "The policy classifications, eg. Group, Plan, Class, etc.", + "valueSet": "http://hl7.org/fhir/ValueSet/coverage-class" + } + }, + { + "id": "Coverage.class.value", + "path": "Coverage.class.value", + "short": "Value associated with the type", + "definition": "The alphanumeric string value associated with the insurer issued label.", + "comment": "For example, the Group or Plan number.", + "requirements": "The insurer issued label and value are necessary to identify the specific policy.", + "min": 1, + "max": "1", + "base": { + "path": "Coverage.class.value", + "min": 1, + "max": "1" + }, + "type": [ + { + "code": "string" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "cdanetv4", + "map": "C11 (Division,Section)" + }, + { + "identity": "v2", + "map": "IN1-8" + }, + { + "identity": "cpha3pharm", + "map": "C.31" + } + ] + }, + { + "id": "Coverage.class.name", + "path": "Coverage.class.name", + "short": "Human readable description of the type and value", + "definition": "A short description for the class.", + "requirements": "Used to provide a meaningful description in correspondence to the patient.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.class.name", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "string" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "cdanetv4", + "map": "C11 (Division,Section)" + }, + { + "identity": "v2", + "map": "IN1-8" + }, + { + "identity": "cpha3pharm", + "map": "C.31" + } + ] + }, + { + "id": "Coverage.order", + "path": "Coverage.order", + "short": "Relative order of the coverage", + "definition": "The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care.", + "requirements": "Used in managing the coordination of benefits.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.order", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "positiveInt" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "v2", + "map": "- No exact HL7 v2 equivalent concept seems to exist;" + } + ] + }, + { + "id": "Coverage.network", + "path": "Coverage.network", + "short": "Insurer network", + "definition": "The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply.", + "requirements": "Used in referral for treatment and in claims processing.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.network", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "string" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "cdanetv4", + "map": "D10" + } + ] + }, + { + "id": "Coverage.costToBeneficiary", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name", + "valueString": "CostToBeneficiary" + } + ], + "path": "Coverage.costToBeneficiary", + "short": "Patient payments for services/products", + "definition": "A suite of codes indicating the cost category and associated amount which have been detailed in the policy and may have been included on the health card.", + "comment": "For example by knowing the patient visit co-pay, the provider can collect the amount prior to undertaking treatment.", + "requirements": "Required by providers to manage financial transaction with the patient.", + "alias": [ + "CoPay", + "Deductible", + "Exceptions" + ], + "min": 0, + "max": "*", + "base": { + "path": "Coverage.costToBeneficiary", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "BackboneElement" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false + }, + { + "id": "Coverage.costToBeneficiary.id", + "path": "Coverage.costToBeneficiary.id", + "representation": [ + "xmlAttr" + ], + "short": "Unique id for inter-element referencing", + "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min": 0, + "max": "1", + "base": { + "path": "Element.id", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "http://hl7.org/fhirpath/System.String", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl": "string" + } + ] + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Coverage.costToBeneficiary.extension", + "path": "Coverage.costToBeneficiary.extension", + "short": "Additional content defined by implementations", + "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias": [ + "extensions", + "user content" + ], + "min": 0, + "max": "*", + "base": { + "path": "Element.extension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Coverage.costToBeneficiary.modifierExtension", + "path": "Coverage.costToBeneficiary.modifierExtension", + "short": "Extensions that cannot be ignored even if unrecognized", + "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", + "alias": [ + "extensions", + "user content", + "modifiers" + ], + "min": 0, + "max": "*", + "base": { + "path": "BackboneElement.modifierExtension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": true, + "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", + "isSummary": true, + "mapping": [ + { + "identity": "rim", + "map": "N/A" + } + ] + }, + { + "id": "Coverage.costToBeneficiary.type", + "path": "Coverage.costToBeneficiary.type", + "short": "Cost category", + "definition": "The category of patient centric costs associated with treatment.", + "comment": "For example visit, specialist visits, emergency, inpatient care, etc.", + "requirements": "Needed to identify the category associated with the amount for the patient.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.costToBeneficiary.type", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "CodeableConcept" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "binding": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString": "CopayTypes" + } + ], + "strength": "extensible", + "description": "The types of services to which patient copayments are specified.", + "valueSet": "http://hl7.org/fhir/ValueSet/coverage-copay-type" + } + }, + { + "id": "Coverage.costToBeneficiary.value[x]", + "path": "Coverage.costToBeneficiary.value[x]", + "short": "The amount or percentage due from the beneficiary", + "definition": "The amount due from the patient for the cost category.", + "comment": "Amount may be expressed as a percentage of the service/product cost or a fixed amount of currency.", + "requirements": "Needed to identify the amount for the patient associated with the category.", + "min": 1, + "max": "1", + "base": { + "path": "Coverage.costToBeneficiary.value[x]", + "min": 1, + "max": "1" + }, + "type": [ + { + "code": "Quantity", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/SimpleQuantity" + ] + }, + { + "code": "Money" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "cdanetv4", + "map": "C11 (Division,Section)" + }, + { + "identity": "v2", + "map": "IN1-8" + }, + { + "identity": "cpha3pharm", + "map": "C.31" + } + ] + }, + { + "id": "Coverage.costToBeneficiary.exception", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name", + "valueString": "Exemption" + } + ], + "path": "Coverage.costToBeneficiary.exception", + "short": "Exceptions for patient payments", + "definition": "A suite of codes indicating exceptions or reductions to patient costs and their effective periods.", + "requirements": "Required by providers to manage financial transaction with the patient.", + "min": 0, + "max": "*", + "base": { + "path": "Coverage.costToBeneficiary.exception", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "BackboneElement" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false + }, + { + "id": "Coverage.costToBeneficiary.exception.id", + "path": "Coverage.costToBeneficiary.exception.id", + "representation": [ + "xmlAttr" + ], + "short": "Unique id for inter-element referencing", + "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min": 0, + "max": "1", + "base": { + "path": "Element.id", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "http://hl7.org/fhirpath/System.String", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl": "string" + } + ] + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Coverage.costToBeneficiary.exception.extension", + "path": "Coverage.costToBeneficiary.exception.extension", + "short": "Additional content defined by implementations", + "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias": [ + "extensions", + "user content" + ], + "min": 0, + "max": "*", + "base": { + "path": "Element.extension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Coverage.costToBeneficiary.exception.modifierExtension", + "path": "Coverage.costToBeneficiary.exception.modifierExtension", + "short": "Extensions that cannot be ignored even if unrecognized", + "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", + "alias": [ + "extensions", + "user content", + "modifiers" + ], + "min": 0, + "max": "*", + "base": { + "path": "BackboneElement.modifierExtension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": true, + "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", + "isSummary": true, + "mapping": [ + { + "identity": "rim", + "map": "N/A" + } + ] + }, + { + "id": "Coverage.costToBeneficiary.exception.type", + "path": "Coverage.costToBeneficiary.exception.type", + "short": "Exception category", + "definition": "The code for the specific exception.", + "requirements": "Needed to identify the exception associated with the amount for the patient.", + "min": 1, + "max": "1", + "base": { + "path": "Coverage.costToBeneficiary.exception.type", + "min": 1, + "max": "1" + }, + "type": [ + { + "code": "CodeableConcept" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "binding": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString": "CoverageFinancialException" + } + ], + "strength": "example", + "description": "The types of exceptions from the part or full value of financial obligations such as copays.", + "valueSet": "http://hl7.org/fhir/ValueSet/coverage-financial-exception" + } + }, + { + "id": "Coverage.costToBeneficiary.exception.period", + "path": "Coverage.costToBeneficiary.exception.period", + "short": "The effective period of the exception", + "definition": "The timeframe during when the exception is in force.", + "requirements": "Needed to identify the applicable timeframe for the exception for the correct calculation of patient costs.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.costToBeneficiary.exception.period", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "Period" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true + }, + { + "id": "Coverage.subrogation", + "path": "Coverage.subrogation", + "short": "Reimbursement to insurer", + "definition": "When 'subrogation=true' this insurance instance has been included not for adjudication but to provide insurers with the details to recover costs.", + "comment": "Typically, automotive and worker's compensation policies would be flagged with 'subrogation=true' to enable healthcare payors to collect against accident claims.", + "requirements": "See definition for when to be used.", + "min": 0, + "max": "1", + "base": { + "path": "Coverage.subrogation", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "boolean" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false + }, + { + "id": "Coverage.contract", + "path": "Coverage.contract", + "short": "Contract details", + "definition": "The policy(s) which constitute this insurance coverage.", + "requirements": "To reference the legally binding contract between the policy holder and the insurer.", + "min": 0, + "max": "*", + "base": { + "path": "Coverage.contract", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Contract" + ] + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "cdanetv4", + "map": "D01 through D09" + }, + { + "identity": "v2", + "map": "IN1-16, 18, 19" + }, + { + "identity": "rim", + "map": "n/a" + }, + { + "identity": "cpha3pharm", + "map": "C.35" + } + ] + } + ] + }, + "differential": { + "element": [ + { + "id": "Coverage.period", + "path": "Coverage.period", + "min": 1, + "type": [ + { + "code": "Period", + "profile": [ + "http://myurl.org/period-with-my-extension" + ] + } + ] + } + ] + } +} diff --git a/fhir-validation/src/test/resources/fhir/validation/test/package/my-extension.json b/fhir-validation/src/test/resources/fhir/validation/test/package/my-extension.json new file mode 100644 index 00000000000..6ea39f14782 --- /dev/null +++ b/fhir-validation/src/test/resources/fhir/validation/test/package/my-extension.json @@ -0,0 +1,277 @@ +{ + "resourceType": "StructureDefinition", + "id": "my-extension", + "url": "http://myurl.org/my-extension", + "version": "0.1.0", + "name": "MyExtension", + "title": "My Extension", + "status": "active", + "description": "An extension", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + } + ], + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "Element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "snapshot": { + "element": [ + { + "id": "Extension", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode": "normative" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", + "valueCode": "4.0.0" + } + ], + "path": "Extension", + "short": "Optional Extensions Element", + "definition": "Optional Extension Element - found in all resources.", + "min": 0, + "max": "*", + "base": { + "path": "Extension", + "min": 0, + "max": "*" + }, + "condition": [ + "ele-1" + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" + } + ], + "isModifier": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + }, + { + "identity": "rim", + "map": "N/A" + } + ] + }, + { + "id": "Extension.id", + "path": "Extension.id", + "representation": [ + "xmlAttr" + ], + "short": "Unique id for inter-element referencing", + "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min": 0, + "max": "1", + "base": { + "path": "Element.id", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "http://hl7.org/fhirpath/System.String", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl": "string" + } + ] + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Extension.extension", + "path": "Extension.extension", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "url" + } + ], + "description": "Extensions are always sliced by (at least) url", + "rules": "open" + }, + "short": "Additional content defined by implementations", + "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias": [ + "extensions", + "user content" + ], + "min": 0, + "max": "0", + "base": { + "path": "Element.extension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Extension.url", + "path": "Extension.url", + "representation": [ + "xmlAttr" + ], + "short": "identifies the meaning of the extension", + "definition": "Source of the definition for the extension code - a logical name or a URL.", + "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", + "min": 1, + "max": "1", + "base": { + "path": "Extension.url", + "min": 1, + "max": "1" + }, + "type": [ + { + "code": "http://hl7.org/fhirpath/System.String", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl": "uri" + } + ] + } + ], + "fixedUri": "http://myurl.org/my-extension", + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "N/A" + } + ] + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "short": "Value of extension", + "definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", + "min": 0, + "max": "1", + "base": { + "path": "Extension.value[x]", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "integer" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "N/A" + } + ] + } + ] + }, + "differential": { + "element": [ + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "http://myurl.org/my-extension" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "type": [ + { + "code": "integer" + } + ] + } + ] + } +} diff --git a/fhir-validation/src/test/resources/fhir/validation/test/package/period-with-my-extension.json b/fhir-validation/src/test/resources/fhir/validation/test/package/period-with-my-extension.json new file mode 100644 index 00000000000..febc423c649 --- /dev/null +++ b/fhir-validation/src/test/resources/fhir/validation/test/package/period-with-my-extension.json @@ -0,0 +1,350 @@ +{ + "resourceType": "StructureDefinition", + "id": "period-with-my-extension", + "url": "http://myurl.org/period-with-my-extension", + "version": "0.1.0", + "name": "PeriodWithMyExtension", + "title": "Period with my extension", + "status": "active", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + } + ], + "kind": "complex-type", + "abstract": false, + "type": "Period", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Period", + "derivation": "constraint", + "snapshot": { + "element": [ + { + "id": "Period", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode": "normative" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", + "valueCode": "4.0.0" + } + ], + "path": "Period", + "short": "Time range defined by start and end date/time", + "definition": "A time period defined by a start and end date and optionally time.", + "comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).", + "min": 0, + "max": "*", + "base": { + "path": "Period", + "min": 0, + "max": "*" + }, + "condition": [ + "ele-1" + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "per-1", + "severity": "error", + "human": "If present, start SHALL have a lower value than end", + "expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)", + "xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))" + } + ], + "isModifier": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + }, + { + "identity": "v2", + "map": "DR" + }, + { + "identity": "rim", + "map": "IVL[lowClosed=\"true\" and highClosed=\"true\"] or URG[lowClosed=\"true\" and highClosed=\"true\"]" + } + ] + }, + { + "id": "Period.id", + "path": "Period.id", + "representation": [ + "xmlAttr" + ], + "short": "Unique id for inter-element referencing", + "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min": 0, + "max": "1", + "base": { + "path": "Element.id", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "http://hl7.org/fhirpath/System.String", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl": "string" + } + ] + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Period.extension", + "path": "Period.extension", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "url" + } + ], + "description": "Extensions are always sliced by (at least) url", + "rules": "open" + }, + "short": "Additional content defined by implementations", + "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias": [ + "extensions", + "user content" + ], + "min": 1, + "max": "*", + "base": { + "path": "Element.extension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension" + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Period.extension:myExtension", + "path": "Period.extension", + "sliceName": "myExtension", + "short": "Additional content defined by implementations", + "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias": [ + "extensions", + "user content" + ], + "min": 1, + "max": "1", + "base": { + "path": "Element.extension", + "min": 0, + "max": "*" + }, + "type": [ + { + "code": "Extension", + "profile": [ + "http://myurl.org/my-extension" + ] + } + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key": "ext-1", + "severity": "error", + "human": "Must have either extensions or value[x], not both", + "expression": "extension.exists() != value.exists()", + "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source": "http://hl7.org/fhir/StructureDefinition/Extension" + } + ], + "isModifier": false, + "isSummary": false, + "mapping": [ + { + "identity": "rim", + "map": "n/a" + } + ] + }, + { + "id": "Period.start", + "path": "Period.start", + "short": "Starting time with inclusive boundary", + "definition": "The start of the period. The boundary is inclusive.", + "comment": "If the low element is missing, the meaning is that the low boundary is not known.", + "min": 0, + "max": "1", + "base": { + "path": "Period.start", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "dateTime" + } + ], + "condition": [ + "per-1" + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "v2", + "map": "DR.1" + }, + { + "identity": "rim", + "map": "./low" + } + ] + }, + { + "id": "Period.end", + "path": "Period.end", + "short": "End time with inclusive boundary, if not ongoing", + "definition": "The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.", + "comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.", + "min": 0, + "max": "1", + "base": { + "path": "Period.end", + "min": 0, + "max": "1" + }, + "type": [ + { + "code": "dateTime" + } + ], + "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing", + "condition": [ + "per-1" + ], + "constraint": [ + { + "key": "ele-1", + "severity": "error", + "human": "All FHIR elements must have a @value or children", + "expression": "hasValue() or (children().count() > id.count())", + "xpath": "@value|f:*|h:div", + "source": "http://hl7.org/fhir/StructureDefinition/Element" + } + ], + "isModifier": false, + "isSummary": true, + "mapping": [ + { + "identity": "v2", + "map": "DR.2" + }, + { + "identity": "rim", + "map": "./high" + } + ] + } + ] + }, + "differential": { + "element": [ + { + "id": "Period.extension", + "path": "Period.extension", + "min": 1 + }, + { + "id": "Period.extension:myExtension", + "path": "Period.extension", + "sliceName": "myExtension", + "min": 1, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://myurl.org/my-extension" + ] + } + ] + } + ] + } +}