# Get FHIR r4 operation definition by ID
Endpoint: GET /site/{siteId}/fhir/operation-definition/{id}
Version: 1.0
Security: bearer, bearer
## Path parameters:
- `id` (string, required)
ID of the OperationDefinition
- `siteId` (string, required)
Site identifier
## Response 200 fields (application/json):
- `resourceType` (any, required)
This is a OperationDefinition resource
Enum: "OperationDefinition"
- `id` (string)
Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.
Example: "example-id"
- `meta` (object)
The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
- `meta.id` (string)
An extension object type #string.
Example: "example-string"
- `meta.extension` (array)
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.
- `meta.versionId` (object)
An extension object type #id.
- `meta._versionId` (object)
An extension object type #Element.
- `meta.lastUpdated` (object)
An extension object type #instant.
- `meta._lastUpdated` (object)
An extension object type #Element.
- `meta.source` (string)
An extension object type #uri.
Example: "https://example.org/resource"
- `meta._source` (object)
An extension object type #Element.
- `meta.profile` (array)
A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].
Example: ["http://example.org/Profile"]
- `meta.security` (array)
Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
- `meta.tag` (array)
Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
- `implicitRules` (string)
String of characters used to identify a name or a resource
Example: "https://example.org/resource"
- `_implicitRules` (object)
Base definition for all elements in a resource.
- `language` (string)
A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents
Example: "sample-code"
- `_language` (object)
Base definition for all elements in a resource.
- `text` (object)
A human-readable summary of the resource conveying the essential clinical and business information for the resource.
- `text.status` (any)
The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data.
Enum: "generated", "extensions", "additional", "empty"
- `text._status` (object)
An extension object type #Element.
- `text.div` (string, required)
An extension object type #xhtml.
Example: "
Example
"
- `contained` (array)
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.
- `extension` (array)
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.
- `extension.url` (string)
An extension object type #uri.
Example: "https://example.org/resource"
- `extension._url` (object)
An extension object type #Element.
- `extension.valueBase64Binary` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "U2FtcGxl"
- `extension._valueBase64Binary` (object)
An extension object type #Element.
- `extension.valueBoolean` (boolean)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: true
- `extension._valueBoolean` (object)
An extension object type #Element.
- `extension.valueCanonical` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "http://example.org/Profile"
- `extension._valueCanonical` (object)
An extension object type #Element.
- `extension.valueCode` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "sample-code"
- `extension._valueCode` (object)
An extension object type #Element.
- `extension.valueDate` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "2024-01-01"
- `extension._valueDate` (object)
An extension object type #Element.
- `extension.valueDateTime` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "2024-01-01T00:00:00Z"
- `extension._valueDateTime` (object)
An extension object type #Element.
- `extension.valueDecimal` (number)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: 1.23
- `extension._valueDecimal` (object)
An extension object type #Element.
- `extension.valueId` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "example-id"
- `extension._valueId` (object)
An extension object type #Element.
- `extension.valueInstant` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "2024-01-01T00:00:00Z"
- `extension._valueInstant` (object)
An extension object type #Element.
- `extension.valueInteger` (number)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: 1
- `extension._valueInteger` (object)
An extension object type #Element.
- `extension.valueMarkdown` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "Sample markdown text"
- `extension._valueMarkdown` (object)
An extension object type #Element.
- `extension.valueOid` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "urn:oid:1.2.3.4.5"
- `extension._valueOid` (object)
An extension object type #Element.
- `extension.valuePositiveInt` (number)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: 1
- `extension._valuePositiveInt` (object)
An extension object type #Element.
- `extension.valueString` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "example-string"
- `extension._valueString` (object)
An extension object type #Element.
- `extension.valueTime` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "12:00:00"
- `extension._valueTime` (object)
An extension object type #Element.
- `extension.valueUnsignedInt` (number)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
- `extension._valueUnsignedInt` (object)
An extension object type #Element.
- `extension.valueUri` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "https://example.org/resource"
- `extension._valueUri` (object)
An extension object type #Element.
- `extension.valueUrl` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "https://example.org"
- `extension._valueUrl` (object)
An extension object type #Element.
- `extension.valueUuid` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
- `extension._valueUuid` (object)
An extension object type #Element.
- `extension.valueAddress` (object)
An extension object type #Address.
- `extension.valueAge` (object)
An extension object type #Age.
- `extension.valueAnnotation` (object)
An extension object type #Annotation.
- `extension.valueAttachment` (object)
An extension object type #Attachment.
- `extension.valueCodeableConcept` (object)
An extension object type #CodeableConcept.
- `extension.valueCoding` (object)
An extension object type #Coding.
- `extension.valueContactPoint` (object)
An extension object type #ContactPoint.
- `extension.valueCount` (object)
An extension object type #Count.
- `extension.valueDistance` (object)
An extension object type #Distance.
- `extension.valueDuration` (object)
An extension object type #Duration.
- `extension.valueHumanName` (object)
An extension object type #HumanName.
- `extension.valueIdentifier` (object)
An extension object type #Identifier.
- `extension.valueMoney` (object)
An extension object type #Money.
- `extension.valuePeriod` (object)
An extension object type #Period.
- `extension.valueQuantity` (object)
An extension object type #Quantity.
- `extension.valueRange` (object)
An extension object type #Range.
- `extension.valueRatio` (object)
An extension object type #Ratio.
- `extension.valueReference` (object)
An extension object type #Reference.
- `extension.valueSampledData` (object)
An extension object type #SampledData.
- `extension.valueSignature` (object)
An extension object type #Signature.
- `extension.valueTiming` (object)
An extension object type #Timing.
- `extension.valueContactDetail` (object)
An extension object type #ContactDetail.
- `extension.valueContributor` (object)
An extension object type #Contributor.
- `extension.valueDataRequirement` (object)
An extension object type #DataRequirement.
- `extension.valueExpression` (object)
An extension object type #Expression.
- `extension.valueParameterDefinition` (object)
An extension object type #ParameterDefinition.
- `extension.valueRelatedArtifact` (object)
An extension object type #RelatedArtifact.
- `extension.valueTriggerDefinition` (object)
An extension object type #TriggerDefinition.
- `extension.valueUsageContext` (object)
An extension object type #UsageContext.
- `extension.valueDosage` (object)
An extension object type #Dosage.
- `extension.valueMeta` (object)
An extension object type #Meta.
- `modifierExtension` (array)
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.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
- `url` (string)
String of characters used to identify a name or a resource
Example: "https://example.org/resource"
- `_url` (object)
Base definition for all elements in a resource.
- `version` (string)
A sequence of Unicode characters
Example: "example-string"
- `_version` (object)
Base definition for all elements in a resource.
- `name` (string)
A sequence of Unicode characters
Example: "example-string"
- `_name` (object)
Base definition for all elements in a resource.
- `title` (string)
A sequence of Unicode characters
Example: "example-string"
- `_title` (object)
Base definition for all elements in a resource.
- `status` (any)
The status of this operation definition. Enables tracking the life-cycle of the content.
Enum: "draft", "active", "retired", "unknown"
- `_status` (object)
Base definition for all elements in a resource.
- `kind` (any)
Whether this is an operation or a named query.
Enum: "operation", "query"
- `_kind` (object)
Base definition for all elements in a resource.
- `experimental` (boolean)
Value of "true" or "false"
Example: true
- `_experimental` (object)
Base definition for all elements in a resource.
- `date` (string)
A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.
Example: "2024-01-01T00:00:00Z"
- `_date` (object)
Base definition for all elements in a resource.
- `publisher` (string)
A sequence of Unicode characters
Example: "example-string"
- `_publisher` (object)
Base definition for all elements in a resource.
- `contact` (array)
Contact details to assist a user in finding and communicating with the publisher.
Example: [{"name":"System Administrator","telecom":[{"system":"email","value":"beep@coyote.acme.com"}]}]
- `contact.name` (string)
An extension object type #string.
Example: "example-string"
- `contact._name` (object)
An extension object type #Element.
- `contact.telecom` (array)
The contact details for the individual (if a name was provided) or the organization.
- `description` (string)
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
Example: "Sample markdown text"
- `_description` (object)
Base definition for all elements in a resource.
- `useContext` (array)
The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate operation definition instances.
Example: [{"code":{"system":"http://build.fhir.org/codesystem-usage-context-type","code":"venue","display":"Clinical Venue"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-ActCode","code":"IMP","display":"inpatient encounter"}]}}]
- `useContext.code` (object, required)
An extension object type #Coding.
- `jurisdiction` (array)
A legal or geographic region in which the operation definition is intended to be used.
Example: [{"coding":[{"system":"urn:iso:std:iso:3166","code":"GB","display":"United Kingdom of Great Britain and Northern Ireland (the)"}]}]
- `jurisdiction.coding` (array)
A reference to a code defined by a terminology system.
- `jurisdiction.text` (string)
An extension object type #string.
Example: "example-string"
- `jurisdiction._text` (object)
An extension object type #Element.
- `purpose` (string)
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
Example: "Sample markdown text"
- `_purpose` (object)
Base definition for all elements in a resource.
- `affectsState` (boolean)
Value of "true" or "false"
Example: true
- `_affectsState` (object)
Base definition for all elements in a resource.
- `code` (string)
A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents
Example: "sample-code"
- `_code` (object)
Base definition for all elements in a resource.
- `comment` (string)
A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
Example: "Sample markdown text"
- `_comment` (object)
Base definition for all elements in a resource.
- `base` (string)
A URI that is a reference to a canonical URL on a FHIR resource
Example: "http://example.org/Profile"
- `resource` (array)
The types on which this operation can be executed.
Example: ["Questionnaire"]
- `_resource` (array)
Extensions for resource
- `system` (boolean)
Value of "true" or "false"
Example: true
- `_system` (object)
Base definition for all elements in a resource.
- `type` (boolean)
Value of "true" or "false"
Example: true
- `_type` (object)
Base definition for all elements in a resource.
- `instance` (boolean)
Value of "true" or "false"
Example: true
- `_instance` (object)
Base definition for all elements in a resource.
- `inputProfile` (string)
A URI that is a reference to a canonical URL on a FHIR resource
Example: "http://example.org/Profile"
- `outputProfile` (string)
A URI that is a reference to a canonical URL on a FHIR resource
Example: "http://example.org/Profile"
- `parameter` (array)
The parameters for the operation/query.
Example: [{"name":"subject","use":"in","min":1,"max":"1","documentation":"The resource that is to be the *QuestionnaireResponse.subject*. The [[[QuestionnaireResponse]]] instance will reference the provided subject. In addition, if the *local* parameter is set to true, server information about the specified subject will be used to populate the instance.","type":"Reference"},{"name":"local","use":"in","min":0,"max":"1","documentation":"If the *local* parameter is set to true, server information about the specified subject will be used to populate the instance.","type":"Reference"},{"name":"return","use":"out","min":1,"max":"1","documentation":"The partially (or fully)-populated set of answers for the specified Questionnaire","type":"QuestionnaireResponse"}]
- `parameter.modifierExtension` (array)
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.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
- `parameter.name` (string)
An extension object type #code.
Example: "sample-code"
- `parameter.use` (any)
Whether this is an input or an output parameter.
Enum: "in", "out"
- `parameter._use` (object)
An extension object type #Element.
- `parameter.min` (integer)
An extension object type #integer.
Example: 1
- `parameter._min` (object)
An extension object type #Element.
- `parameter.max` (string)
An extension object type #string.
Example: "example-string"
- `parameter._max` (object)
An extension object type #Element.
- `parameter.documentation` (string)
An extension object type #string.
Example: "example-string"
- `parameter._documentation` (object)
An extension object type #Element.
- `parameter.type` (string)
An extension object type #code.
Example: "sample-code"
- `parameter._type` (object)
An extension object type #Element.
- `parameter.targetProfile` (array)
Used when the type is "Reference" or "canonical", and identifies a profile structure or implementation Guide that applies to the target of the reference this parameter refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide.
Example: ["http://example.org/Profile"]
- `parameter.searchType` (any)
How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'.
Enum: "number", "date", "string", "token", "reference", "composite", "quantity", "uri", "special"
- `parameter._searchType` (object)
An extension object type #Element.
- `parameter.binding` (object)
An extension object type #OperationDefinition_Binding.
- `parameter.referencedFrom` (array)
Identifies other resource parameters within the operation invocation that are expected to resolve to this resource.
- `parameter.part` (array)
The parts of a nested Parameter.
- `overload` (array)
Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.
Example: [{"parameterName":["subject","local"]},{"parameterName":["subject"],"comment":"local defaults to false when not passed as a parameter"}]
- `overload.parameterName` (array)
Name of parameter to include in overload.
Example: ["example-string"]
- `overload._parameterName` (array)
Extensions for parameterName
- `overload.comment` (string)
An extension object type #string.
Example: "example-string"
- `overload._comment` (object)
An extension object type #Element.
## Response 401 fields (application/json):
- `message` (string, required)
Error message indicating unauthorized access.
Example: "Unauthorized"
- `statusCode` (number, required)
HTTP status code for unauthorized access.
Example: 401
## Response 400 fields
## Response 404 fields