| url | No | uri | Canonical identifier for this operation definition, represented as a URI (globally unique) |
| version | No | string | Business version of the operation definition |
| name | Yes | string | Name for this operation definition (computer friendly) |
| title | No | string | Name for this operation definition (human friendly) |
| status | Yes | code | draft / active / retired / unknown |
| kind | Yes | code | operation / query |
| experimental | No | boolean | For testing purposes, not real usage |
| date | No | dateTime | Date last changed |
| publisher | No | string | Name of the publisher (organization or individual) |
| contact | No | ContactDetail[] | Contact details for the publisher |
| description | No | markdown | Natural language description of the operation definition |
| useContext | No | UsageContext[] | The context that the content is intended to support |
| jurisdiction | No | CodeableConcept[] | Intended jurisdiction for operation definition (if applicable) |
| purpose | No | markdown | Why this operation definition is defined |
| affectsState | No | boolean | Whether content is changed by the operation |
| code | Yes | code | Name used to invoke the operation |
| comment | No | markdown | Additional information about use |
| base | No | canonical | Marks this as a profile of the base |
| resource | No | code[] | Types this operation applies to |
| system | Yes | boolean | Invoke at the system level? |
| type | Yes | boolean | Invoke at the type level? |
| instance | Yes | boolean | Invoke on an instance? |
| inputProfile | No | canonical | Validation information for in parameters |
| outputProfile | No | canonical | Validation information for out parameters |
| parameter | No | OperationDefinitionParameter | Parameters for the operation/query |
| - id | No | string | Unique id for inter-element referencing |
| - extension | No | Extension[] | Additional content defined by implementations |
| - modifierExtension | No | Extension[] | Extensions that cannot be ignored even if unrecognized |
| - name | Yes | code | Name in Parameters.parameter.name or in URL |
| - use | Yes | code | in / out |
| - min | Yes | integer | Minimum Cardinality |
| - max | Yes | string | Maximum Cardinality (a number or *) |
| - documentation | No | string | Description of meaning/use |
| - type | No | code | What type this parameter has |
| - targetProfile | No | canonical[] | If type is Reference / canonical, allowed targets |
| - searchType | No | code | number / date / string / token / reference / composite / quantity / uri / special |
| - binding | No | OperationDefinitionParameterBinding | ValueSet details if this is coded |
| - id | No | string | Unique id for inter-element referencing |
| - extension | No | Extension[] | Additional content defined by implementations |
| - modifierExtension | No | Extension[] | Extensions that cannot be ignored even if unrecognized |
| - strength | Yes | code | required / extensible / preferred / example |
| - valueSet | Yes | canonical | Source of value set |
| - referencedFrom | No | OperationDefinitionParameterReferencedFrom | References to this parameter |
| - id | No | string | Unique id for inter-element referencing |
| - extension | No | Extension[] | Additional content defined by implementations |
| - modifierExtension | No | Extension[] | Extensions that cannot be ignored even if unrecognized |
| - source | Yes | string | Referencing parameter |
| - sourceId | No | string | Element id of reference |
| - part | No | [] | Parts of a nested Parameter |
| overload | No | OperationDefinitionOverload | Define overloaded variants for when generating code |
| - id | No | string | Unique id for inter-element referencing |
| - extension | No | Extension[] | Additional content defined by implementations |
| - modifierExtension | No | Extension[] | Extensions that cannot be ignored even if unrecognized |
| - parameterName | No | string[] | Name of parameter to include in overload |
| - comment | No | string | Comments to go on overload |