FHIR IG analytics| Package | io.health-samurai.core.r6 |
| Resource Type | StructureDefinition |
| Id | StructureDefinition-parameters-createApiProfile.json |
| FHIR Version | R6 |
No resources found
No resources found
No narrative content found in resource
{
"description": "Input parameters for the $create-api operation.",
"derivation": "constraint",
"publisher": "Health Samurai",
"fhirVersion": "6.0.0-ballot5",
"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"
}