FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packageio.health-samurai.core.r3
Resource TypeStructureDefinition
IdStructureDefinition-parameters-createApiProfile.json
FHIR VersionR3

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

No narrative content found in resource


Source1

{
  "description": "Input parameters for the $create-api operation.",
  "derivation": "constraint",
  "publisher": "Health Samurai",
  "fhirVersion": "3.0.2",
  "name": "CreateApiProfile",
  "abstract": false,
  "type": "Parameters",
  "resourceType": "StructureDefinition",
  "title": "Create API Profile",
  "status": "active",
  "id": "parameters-createApiProfile",
  "kind": "resource",
  "url": "http://health-samurai.io/fhir/core/StructureDefinition/parameters-createApiProfile",
  "version": "0.2608.1",
  "differential": {
    "element": [
      {
        "id": "Parameters",
        "path": "Parameters",
        "constraint": [
          {
            "key": "mount-api-if-none-exist-1",
            "severity": "error",
            "human": "ifNoneExist may only be set together with apiId",
            "expression": "parameter.where(name = 'ifNoneExist').exists() implies parameter.where(name = 'apiId').exists()"
          }
        ]
      },
      {
        "id": "Parameters.parameter",
        "path": "Parameters.parameter",
        "min": 1,
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "name"
            }
          ],
          "rules": "closed"
        }
      },
      {
        "id": "Parameters.parameter:resourceType",
        "path": "Parameters.parameter",
        "sliceName": "resourceType",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:resourceType.name",
        "path": "Parameters.parameter.name",
        "fixedString": "resourceType"
      },
      {
        "id": "Parameters.parameter:resourceType.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Parameters.parameter:resourceType.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:resourceType.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:storageId",
        "path": "Parameters.parameter",
        "sliceName": "storageId",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:storageId.name",
        "path": "Parameters.parameter.name",
        "fixedString": "storageId"
      },
      {
        "id": "Parameters.parameter:storageId.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Parameters.parameter:storageId.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:storageId.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:apiTemplate",
        "path": "Parameters.parameter",
        "sliceName": "apiTemplate",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:apiTemplate.name",
        "path": "Parameters.parameter.name",
        "fixedString": "apiTemplate"
      },
      {
        "id": "Parameters.parameter:apiTemplate.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ],
        "fixedString": "pre-2604"
      },
      {
        "id": "Parameters.parameter:apiTemplate.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:apiTemplate.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:apiId",
        "path": "Parameters.parameter",
        "sliceName": "apiId",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:apiId.name",
        "path": "Parameters.parameter.name",
        "fixedString": "apiId"
      },
      {
        "id": "Parameters.parameter:apiId.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Parameters.parameter:apiId.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:apiId.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:ifNoneExist",
        "path": "Parameters.parameter",
        "sliceName": "ifNoneExist",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:ifNoneExist.name",
        "path": "Parameters.parameter.name",
        "fixedString": "ifNoneExist"
      },
      {
        "id": "Parameters.parameter:ifNoneExist.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Parameters.parameter:ifNoneExist.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:ifNoneExist.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage",
        "path": "Parameters.parameter",
        "sliceName": "dataOffloadToExternalStorage",
        "min": 0,
        "max": "1",
        "constraint": [
          {
            "key": "mount-data-offload-azure-container",
            "severity": "error",
            "human": "azureContainer is required when storageProvider is 'azure'",
            "expression": "part.where(name = 'storageProvider' and value = 'azure').exists() implies part.where(name = 'azureContainer').exists()"
          },
          {
            "key": "mount-data-offload-aws-account",
            "severity": "error",
            "human": "awsAccount and awsBucket are required when storageProvider is 'aws'",
            "expression": "part.where(name = 'storageProvider' and value = 'aws').exists() implies (part.where(name = 'awsAccount').exists() and part.where(name = 'awsBucket').exists())"
          },
          {
            "key": "mount-data-offload-gcp-account",
            "severity": "error",
            "human": "gcpServiceAccount and gcpBucket are required when storageProvider is 'gcp'",
            "expression": "part.where(name = 'storageProvider' and value = 'gcp').exists() implies (part.where(name = 'gcpServiceAccount').exists() and part.where(name = 'gcpBucket').exists())"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.name",
        "path": "Parameters.parameter.name",
        "fixedString": "dataOffloadToExternalStorage"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.value[x]",
        "path": "Parameters.parameter.value[x]",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part",
        "path": "Parameters.parameter.part",
        "min": 2,
        "max": "*",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "name"
            }
          ],
          "rules": "closed"
        }
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:storageProvider",
        "path": "Parameters.parameter.part",
        "sliceName": "storageProvider",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:storageProvider.name",
        "path": "Parameters.parameter.part.name",
        "fixedString": "storageProvider"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:storageProvider.value[x]",
        "path": "Parameters.parameter.part.value[x]",
        "min": 1,
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:storageProvider.resource",
        "path": "Parameters.parameter.part.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:storageProvider.part",
        "path": "Parameters.parameter.part.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:azureContainer",
        "path": "Parameters.parameter.part",
        "sliceName": "azureContainer",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:azureContainer.name",
        "path": "Parameters.parameter.part.name",
        "fixedString": "azureContainer"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:azureContainer.value[x]",
        "path": "Parameters.parameter.part.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://health-samurai.io/fhir/core/StructureDefinition/AzureContainer"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:azureContainer.resource",
        "path": "Parameters.parameter.part.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:azureContainer.part",
        "path": "Parameters.parameter.part.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsAccount",
        "path": "Parameters.parameter.part",
        "sliceName": "awsAccount",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsAccount.name",
        "path": "Parameters.parameter.part.name",
        "fixedString": "awsAccount"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsAccount.value[x]",
        "path": "Parameters.parameter.part.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://health-samurai.io/fhir/core/StructureDefinition/AwsAccount"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsAccount.resource",
        "path": "Parameters.parameter.part.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsAccount.part",
        "path": "Parameters.parameter.part.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsBucket",
        "path": "Parameters.parameter.part",
        "sliceName": "awsBucket",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsBucket.name",
        "path": "Parameters.parameter.part.name",
        "fixedString": "awsBucket"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsBucket.value[x]",
        "path": "Parameters.parameter.part.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsBucket.resource",
        "path": "Parameters.parameter.part.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:awsBucket.part",
        "path": "Parameters.parameter.part.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpServiceAccount",
        "path": "Parameters.parameter.part",
        "sliceName": "gcpServiceAccount",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpServiceAccount.name",
        "path": "Parameters.parameter.part.name",
        "fixedString": "gcpServiceAccount"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpServiceAccount.value[x]",
        "path": "Parameters.parameter.part.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://health-samurai.io/fhir/core/StructureDefinition/GcpServiceAccount"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpServiceAccount.resource",
        "path": "Parameters.parameter.part.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpServiceAccount.part",
        "path": "Parameters.parameter.part.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpBucket",
        "path": "Parameters.parameter.part",
        "sliceName": "gcpBucket",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpBucket.name",
        "path": "Parameters.parameter.part.name",
        "fixedString": "gcpBucket"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpBucket.value[x]",
        "path": "Parameters.parameter.part.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpBucket.resource",
        "path": "Parameters.parameter.part.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:gcpBucket.part",
        "path": "Parameters.parameter.part.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:blobNamePrefix",
        "path": "Parameters.parameter.part",
        "sliceName": "blobNamePrefix",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:blobNamePrefix.name",
        "path": "Parameters.parameter.part.name",
        "fixedString": "blobNamePrefix"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:blobNamePrefix.value[x]",
        "path": "Parameters.parameter.part.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "mount-data-offload-prefix-format",
            "severity": "error",
            "human": "blobNamePrefix must be 1-256 characters: one or more '/'-separated segments of letters, digits, '_' or '-' (e.g. 'env-1/tenant_a/blobs'); it must not start or end with '/' or contain empty segments",
            "expression": "$this.length() <= 256 and $this.matches('^[A-Za-z0-9_-]+(/[A-Za-z0-9_-]+)*[%content%]#39;)"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:blobNamePrefix.resource",
        "path": "Parameters.parameter.part.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:blobNamePrefix.part",
        "path": "Parameters.parameter.part.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:fhirpathToBase64BinaryElement",
        "path": "Parameters.parameter.part",
        "sliceName": "fhirpathToBase64BinaryElement",
        "min": 1,
        "max": "*"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:fhirpathToBase64BinaryElement.name",
        "path": "Parameters.parameter.part.name",
        "fixedString": "fhirpathToBase64BinaryElement"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:fhirpathToBase64BinaryElement.value[x]",
        "path": "Parameters.parameter.part.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:fhirpathToBase64BinaryElement.resource",
        "path": "Parameters.parameter.part.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:dataOffloadToExternalStorage.part:fhirpathToBase64BinaryElement.part",
        "path": "Parameters.parameter.part.part",
        "max": "0"
      }
    ]
  },
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters"
}