OperationDefinition

A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).

Columns

Header row
# path type required description
0 resourceType string * Resource type identifier. Must be string "OperationDefinition"
1 integer * Number of subrows
2 id string * Logical id of this artifact
3 url uri Canonical identifier for this operation definition, represented as a URI (globally unique)
4 version string Business version of the operation definition
5 name string Name for this operation definition (computer friendly)
6 title string Name for this operation definition (human friendly)
7 status code draft | active | retired | unknown
8 kind code operation | query
9 experimental boolean For testing purposes, not real usage
10 date dateTime Date last changed
11 publisher string Name of the publisher (organization or individual)
12 description markdown Natural language description of the operation definition
13 purpose markdown Why this operation definition is defined
14 affectsState boolean Whether content is changed by the operation
15 code code Name used to invoke the operation
16 comment markdown Additional information about use
17 base canonical Marks this as a profile of the base
18 system boolean Invoke at the system level?
19 type boolean Invoke at the type level?
20 instance boolean Invoke on an instance?
21 inputProfile canonical Validation information for in parameters
22 outputProfile canonical Validation information for out parameters
Row contact
# path type required description
0 string * Subrow identifier. Must be string "contact"
contact ContactDetail Contact details for the publisher
1 contact.name string Name of an individual to contact
contact.telecom ContactPoint Contact details for individual or organization
2 contact.telecom.system code phone | fax | email | pager | url | sms | other
3 contact.telecom.value string The actual contact point details
4 contact.telecom.use code home | work | temp | old | mobile - purpose of this contact point
5 contact.telecom.rank positiveInt Specify preferred order of use (1 = highest)
contact.telecom.period Period Time period when the contact point was/is in use
6 contact.telecom.period.start dateTime Starting time with inclusive boundary
7 contact.telecom.period.end dateTime End time with inclusive boundary, if not ongoing
Row useContext
# path type required description
0 string * Subrow identifier. Must be string "useContext"
useContext UsageContext The context that the content is intended to support
useContext.code Coding Type of context being specified
1 useContext.code.system uri Identity of the terminology system
2 useContext.code.version string Version of the system - if relevant
3 useContext.code.code code Symbol in syntax defined by the system
4 useContext.code.display string Representation defined by the system
5 useContext.code.userSelected boolean If this coding was chosen directly by the user
useContext.value[x] Value that defines the context
useContext.valueCodeableConcept CodeableConcept
useContext.valueCodeableConcept.coding Coding Code defined by a terminology system
6 useContext.valueCodeableConcept.coding.system uri Identity of the terminology system
7 useContext.valueCodeableConcept.coding.version string Version of the system - if relevant
8 useContext.valueCodeableConcept.coding.code code Symbol in syntax defined by the system
9 useContext.valueCodeableConcept.coding.display string Representation defined by the system
10 useContext.valueCodeableConcept.coding.userSelected boolean If this coding was chosen directly by the user
11 useContext.valueCodeableConcept.text string Plain text representation of the concept
useContext.valueQuantity Quantity
12 useContext.valueQuantity.value decimal Numerical value (with implicit precision)
13 useContext.valueQuantity.comparator code < | <= | >= | > - how to understand the value
14 useContext.valueQuantity.unit string Unit representation
15 useContext.valueQuantity.system uri System that defines coded unit form
16 useContext.valueQuantity.code code Coded form of the unit
useContext.valueRange Range
useContext.valueRange.low Quantity Low limit
17 useContext.valueRange.low.value decimal Numerical value (with implicit precision)
18 useContext.valueRange.low.unit string Unit representation
19 useContext.valueRange.low.system uri System that defines coded unit form
20 useContext.valueRange.low.code code Coded form of the unit
useContext.valueRange.high Quantity High limit
21 useContext.valueRange.high.value decimal Numerical value (with implicit precision)
22 useContext.valueRange.high.unit string Unit representation
23 useContext.valueRange.high.system uri System that defines coded unit form
24 useContext.valueRange.high.code code Coded form of the unit
useContext.valueReference Reference
25 useContext.valueReference.reference string Literal reference, Relative, internal or absolute URL
26 useContext.valueReference.type uri Type the reference refers to (e.g. "Patient")
useContext.valueReference.identifier Identifier Logical reference, when literal reference is not known
27 useContext.valueReference.identifier.use code usual | official | temp | secondary | old (If known)
useContext.valueReference.identifier.type CodeableConcept Description of identifier
useContext.valueReference.identifier.type.coding Coding Code defined by a terminology system
28 useContext.valueReference.identifier.type.coding.system uri Identity of the terminology system
29 useContext.valueReference.identifier.type.coding.version string Version of the system - if relevant
30 useContext.valueReference.identifier.type.coding.code code Symbol in syntax defined by the system
31 useContext.valueReference.identifier.type.coding.display string Representation defined by the system
32 useContext.valueReference.identifier.type.coding.userSelected boolean If this coding was chosen directly by the user
33 useContext.valueReference.identifier.type.text string Plain text representation of the concept
34 useContext.valueReference.identifier.system uri The namespace for the identifier value
35 useContext.valueReference.identifier.value string The value that is unique
useContext.valueReference.identifier.period Period Time period when id is/was valid for use
36 useContext.valueReference.identifier.period.start dateTime Starting time with inclusive boundary
37 useContext.valueReference.identifier.period.end dateTime End time with inclusive boundary, if not ongoing
38 useContext.valueReference.display string Text alternative for the resource
Row jurisdiction
# path type required description
0 string * Subrow identifier. Must be string "jurisdiction"
jurisdiction CodeableConcept Intended jurisdiction for operation definition (if applicable)
jurisdiction.coding Coding Code defined by a terminology system
1 jurisdiction.coding.system uri Identity of the terminology system
2 jurisdiction.coding.version string Version of the system - if relevant
3 jurisdiction.coding.code code Symbol in syntax defined by the system
4 jurisdiction.coding.display string Representation defined by the system
5 jurisdiction.coding.userSelected boolean If this coding was chosen directly by the user
6 jurisdiction.text string Plain text representation of the concept
Row resource
# path type required description
0 string * Subrow identifier. Must be string "resource"
1 resource code Types this operation applies to
Row parameter
# path type required description
0 string * Subrow identifier. Must be string "parameter"
parameter Parameters for the operation/query
1 parameter.name code Name in Parameters.parameter.name or in URL
2 parameter.use code in | out
3 parameter.min integer Minimum Cardinality
4 parameter.max string Maximum Cardinality (a number or *)
5 parameter.documentation string Description of meaning/use
6 parameter.type code What type this parameter has
7 parameter.targetProfile canonical If type is Reference | canonical, allowed targets
8 parameter.searchType code number | date | string | token | reference | composite | quantity | uri | special
parameter.binding ValueSet details if this is coded
9 parameter.binding.strength code required | extensible | preferred | example
10 parameter.binding.valueSet canonical Source of value set
parameter.referencedFrom References to this parameter
11 parameter.referencedFrom.source string Referencing parameter
12 parameter.referencedFrom.sourceId string Element id of reference
Row overload
# path type required description
0 string * Subrow identifier. Must be string "overload"
overload Define overloaded variants for when generating code
1 overload.parameterName string Name of parameter to include in overload
2 overload.comment string Comments to go on overload

Examples

Example #1
Input CSV
OperationDefinition,14,"CodeSystem-lookup","http://hl7.org/fhir/OperationDefinition/CodeSystem-lookup","4.0.1","Concept Look Up & Decomposition",,"draft","operation",,"2019-11-01T09:29:23+11:00","HL7 (FHIR Project)","Given a code/system, or a Coding, get additional details about the concept, including definition, status, designations, and properties. One of the products of this operation is a full decomposition of a code from a structured terminology.

When invoking this operation, a client SHALL provide both a system and a code, either using the system+code parameters, or in the coding parameter. Other parameters are optional",,,"lookup","Note that the $lookup operation is more than just a code system search  - the server finds the concept, and gathers the return information from the underlying code system definitions.",,false,true,false,,
contact,,"url","http://hl7.org/fhir",,,,
resource,"CodeSystem"
parameter,"code","in",0,"1","The code that is to be located. If a code is provided, a system must be provided","code",,,,,,
parameter,"system","in",0,"1","The system for the code that is to be located","uri",,,,,,
parameter,"version","in",0,"1","The version of the system, if one was provided in the source data","string",,,,,,
parameter,"coding","in",0,"1","A coding to look up","Coding",,,,,,
parameter,"date","in",0,"1","The date for which the information should be returned. Normally, this is the current conditions (which is the default value) but under some circumstances, systems need to acccess this information as it would have been in the past. A typical example of this would be where code selection is constrained to the set of codes that were available when the patient was treated, not when the record is being edited. Note that which date is appropriate is a matter for implementation policy.","dateTime",,,,,,
parameter,"displayLanguage","in",0,"1","The requested language for display (see $expand.displayLanguage)","code",,,,,,
parameter,"property","in",0,"*","A property that the client wishes to be returned in the output. If no properties are specified, the server chooses what to return. The following properties are defined for all code systems: url, name, version (code system info) and code information: display, definition, designation, parent and child, and for designations, lang.X where X is a designation language code. Some of the properties are returned explicit in named parameters (when the names match), and the rest (except for lang.X) in the property parameter group","code",,,,,,
parameter,"name","out",1,"1","A display name for the code system","string",,,,,,
parameter,"version","out",0,"1","The version that these details are based on","string",,,,,,
parameter,"display","out",1,"1","The preferred display for this concept","string",,,,,,
parameter,"designation","out",0,"*","Additional representations for this concept",,,,,,,
parameter,"property","out",0,"*","One or more properties that contain additional information about the code, including status. For complex terminologies (e.g. SNOMED CT, LOINC, medications), these properties serve to decompose the code",,,,,,,
Resulting resource
{
  "resourceType": "OperationDefinition",
  "id": "CodeSystem-lookup",
  "url": "http://hl7.org/fhir/OperationDefinition/CodeSystem-lookup",
  "version": "4.0.1",
  "name": "Concept Look Up & Decomposition",
  "status": "draft",
  "kind": "operation",
  "date": "2019-11-01T09:29:23+11:00",
  "publisher": "HL7 (FHIR Project)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        },
        {
          "system": "email",
          "value": "fhir@lists.hl7.org"
        }
      ]
    }
  ],
  "description": "Given a code/system, or a Coding, get additional details about the concept, including definition, status, designations, and properties. One of the products of this operation is a full decomposition of a code from a structured terminology.\n\nWhen invoking this operation, a client SHALL provide both a system and a code, either using the system+code parameters, or in the coding parameter. Other parameters are optional",
  "code": "lookup",
  "comment": "Note that the $lookup operation is more than just a code system search  - the server finds the concept, and gathers the return information from the underlying code system definitions.",
  "resource": [
    "CodeSystem"
  ],
  "system": false,
  "type": true,
  "instance": false,
  "parameter": [
    {
      "name": "code",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The code that is to be located. If a code is provided, a system must be provided",
      "type": "code"
    },
    {
      "name": "system",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The system for the code that is to be located",
      "type": "uri"
    },
    {
      "name": "version",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The version of the system, if one was provided in the source data",
      "type": "string"
    },
    {
      "name": "coding",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A coding to look up",
      "type": "Coding"
    },
    {
      "name": "date",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The date for which the information should be returned. Normally, this is the current conditions (which is the default value) but under some circumstances, systems need to acccess this information as it would have been in the past. A typical example of this would be where code selection is constrained to the set of codes that were available when the patient was treated, not when the record is being edited. Note that which date is appropriate is a matter for implementation policy.",
      "type": "dateTime"
    },
    {
      "name": "displayLanguage",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The requested language for display (see $expand.displayLanguage)",
      "type": "code"
    },
    {
      "name": "property",
      "use": "in",
      "min": 0,
      "max": "*",
      "documentation": "A property that the client wishes to be returned in the output. If no properties are specified, the server chooses what to return. The following properties are defined for all code systems: url, name, version (code system info) and code information: display, definition, designation, parent and child, and for designations, lang.X where X is a designation language code. Some of the properties are returned explicit in named parameters (when the names match), and the rest (except for lang.X) in the property parameter group",
      "type": "code"
    },
    {
      "name": "name",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "A display name for the code system",
      "type": "string"
    },
    {
      "name": "version",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "The version that these details are based on",
      "type": "string"
    },
    {
      "name": "display",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "The preferred display for this concept",
      "type": "string"
    },
    {
      "name": "designation",
      "use": "out",
      "min": 0,
      "max": "*",
      "documentation": "Additional representations for this concept"
    },
    {
      "name": "property",
      "use": "out",
      "min": 0,
      "max": "*",
      "documentation": "One or more properties that contain additional information about the code, including status. For complex terminologies (e.g. SNOMED CT, LOINC, medications), these properties serve to decompose the code"
    }
  ]
}
Example #2
Input CSV
OperationDefinition,6,"ConceptMap-closure","http://hl7.org/fhir/OperationDefinition/ConceptMap-closure","4.0.1","Closure Table Maintenance",,"draft","operation",,"2019-11-01T09:29:23+11:00","HL7 (FHIR Project)","This operation provides support for ongoing maintenance of a client-side [transitive closure table](https://en.wikipedia.org/wiki/Transitive_closure#In_graph_theory) based on server-side terminological logic. For details of how this is used, see [Maintaining a Closure Table](terminology-service.html#closure)",,,"closure",,,true,false,false,,
contact,,"url","http://hl7.org/fhir",,,,
resource,"ConceptMap"
parameter,"name","in",1,"1","The name that defines the particular context for the subsumption based closure table","string",,,,,,
parameter,"concept","in",0,"*","Concepts to add to the closure table","Coding",,,,,,
parameter,"version","in",0,"1","A request to resynchronise - request to send all new entries since the nominated version was sent by the server","string",,,,,,
parameter,"return","out",1,"1","A list of new entries (code / system --> code/system) that the client should add to its closure table. The only kind of entry mapping equivalences that can be returned are equal, specializes, subsumes and unmatched","ConceptMap",,,,,,
Resulting resource
{
  "resourceType": "OperationDefinition",
  "id": "ConceptMap-closure",
  "url": "http://hl7.org/fhir/OperationDefinition/ConceptMap-closure",
  "version": "4.0.1",
  "name": "Closure Table Maintenance",
  "status": "draft",
  "kind": "operation",
  "date": "2019-11-01T09:29:23+11:00",
  "publisher": "HL7 (FHIR Project)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        },
        {
          "system": "email",
          "value": "fhir@lists.hl7.org"
        }
      ]
    }
  ],
  "description": "This operation provides support for ongoing maintenance of a client-side [transitive closure table](https://en.wikipedia.org/wiki/Transitive_closure#In_graph_theory) based on server-side terminological logic. For details of how this is used, see [Maintaining a Closure Table](terminology-service.html#closure)",
  "code": "closure",
  "resource": [
    "ConceptMap"
  ],
  "system": true,
  "type": false,
  "instance": false,
  "parameter": [
    {
      "name": "name",
      "use": "in",
      "min": 1,
      "max": "1",
      "documentation": "The name that defines the particular context for the subsumption based closure table",
      "type": "string"
    },
    {
      "name": "concept",
      "use": "in",
      "min": 0,
      "max": "*",
      "documentation": "Concepts to add to the closure table",
      "type": "Coding"
    },
    {
      "name": "version",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A request to resynchronise - request to send all new entries since the nominated version was sent by the server",
      "type": "string"
    },
    {
      "name": "return",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "A list of new entries (code / system --> code/system) that the client should add to its closure table. The only kind of entry mapping equivalences that can be returned are equal, specializes, subsumes and unmatched",
      "type": "ConceptMap"
    }
  ]
}
Example #3
Input CSV
OperationDefinition,18,"ConceptMap-translate","http://hl7.org/fhir/OperationDefinition/ConceptMap-translate","4.0.1","Concept Translation",,"draft","operation",,"2019-11-01T09:29:23+11:00","HL7 (FHIR Project)","Translate a code from one value set to another, based on the existing value set and concept maps resources, and/or other additional knowledge available to the server. 

 One (and only one) of the in parameters (code, coding, codeableConcept) must be provided, to identify the code that is to be translated.  

 The operation returns a set of parameters including a 'result' for whether there is an acceptable match, and a list of possible matches. Note that the list of matches may include notes of codes for which mapping is specifically excluded, so implementers have to check the match.equivalence for each match",,,"translate",,,false,true,true,,
contact,,"url","http://hl7.org/fhir",,,,
resource,"ConceptMap"
parameter,"url","in",0,"1","A canonical URL for a concept map. The server must know the concept map (e.g. it is defined explicitly in the server's concept maps, or it is defined implicitly by some code system known to the server.","uri",,,,,,
parameter,"conceptMap","in",0,"1","The concept map is provided directly as part of the request. Servers may choose not to accept concept maps in this fashion.","ConceptMap",,,,,,
parameter,"conceptMapVersion","in",0,"1","The identifier that is used to identify a specific version of the concept map to be used for the translation. This is an arbitrary value managed by the concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available.","string",,,,,,
parameter,"code","in",0,"1","The code that is to be translated. If a code is provided, a system must be provided","code",,,,,,
parameter,"system","in",0,"1","The system for the code that is to be translated","uri",,,,,,
parameter,"version","in",0,"1","The version of the system, if one was provided in the source data","string",,,,,,
parameter,"source","in",0,"1","Identifies the value set used when the concept (system/code pair) was chosen. May be a logical id, or an absolute or relative location. The source value set is an optional parameter because in some cases, the client cannot know what the source value set is. However, without a source value set, the server may be unable to safely identify an applicable concept map, and would return an error. For this reason, a source value set SHOULD always be provided. Note that servers may be able to identify an appropriate concept map without a source value set if there is a full mapping for the entire code system in the concept map, or by manual intervention","uri",,,,,,
parameter,"coding","in",0,"1","A coding to translate","Coding",,,,,,
parameter,"codeableConcept","in",0,"1","A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses","CodeableConcept",,,,,,
parameter,"target","in",0,"1","Identifies the value set in which a translation is sought. May be a logical id, or an absolute or relative location. If there's no target specified, the server should return all known translations, along with their source","uri",,,,,,
parameter,"targetsystem","in",0,"1","identifies a target code system in which a mapping is sought. This parameter is an alternative to the target parameter - only one is required. Searching for any translation to a target code system irrespective of the context (e.g. target valueset) may lead to unsafe results, and it is at the discretion of the server to decide when to support this operation","uri",,,,,,
parameter,"dependency","in",0,"*","Another element that may help produce the correct mapping",,,,,,,
parameter,"reverse","in",0,"1","if this is true, then the operation should return all the codes that might be mapped to this code. This parameter reverses the meaning of the source and target parameters","boolean",,,,,,
parameter,"result","out",1,"1","True if the concept could be translated successfully. The value can only be true if at least one returned match has an equivalence which is not  unmatched or disjoint","boolean",,,,,,
parameter,"message","out",0,"1","Error details, for display to a human. If this is provided when result = true, the message carries hints and warnings (e.g. a note that the matches could be improved by providing additional detail)","string",,,,,,
parameter,"match","out",0,"*","A concept in the target value set with an equivalence. Note that there may be multiple matches of equal or differing equivalence, and the matches may include equivalence values that mean that there is no match",,,,,,,
Resulting resource
{
  "resourceType": "OperationDefinition",
  "id": "ConceptMap-translate",
  "url": "http://hl7.org/fhir/OperationDefinition/ConceptMap-translate",
  "version": "4.0.1",
  "name": "Concept Translation",
  "status": "draft",
  "kind": "operation",
  "date": "2019-11-01T09:29:23+11:00",
  "publisher": "HL7 (FHIR Project)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        },
        {
          "system": "email",
          "value": "fhir@lists.hl7.org"
        }
      ]
    }
  ],
  "description": "Translate a code from one value set to another, based on the existing value set and concept maps resources, and/or other additional knowledge available to the server. \r\n\r\n One (and only one) of the in parameters (code, coding, codeableConcept) must be provided, to identify the code that is to be translated.  \r\n\r\n The operation returns a set of parameters including a 'result' for whether there is an acceptable match, and a list of possible matches. Note that the list of matches may include notes of codes for which mapping is specifically excluded, so implementers have to check the match.equivalence for each match",
  "code": "translate",
  "resource": [
    "ConceptMap"
  ],
  "system": false,
  "type": true,
  "instance": true,
  "parameter": [
    {
      "name": "url",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A canonical URL for a concept map. The server must know the concept map (e.g. it is defined explicitly in the server's concept maps, or it is defined implicitly by some code system known to the server.",
      "type": "uri"
    },
    {
      "name": "conceptMap",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The concept map is provided directly as part of the request. Servers may choose not to accept concept maps in this fashion.",
      "type": "ConceptMap"
    },
    {
      "name": "conceptMapVersion",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The identifier that is used to identify a specific version of the concept map to be used for the translation. This is an arbitrary value managed by the concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available.",
      "type": "string"
    },
    {
      "name": "code",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The code that is to be translated. If a code is provided, a system must be provided",
      "type": "code"
    },
    {
      "name": "system",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The system for the code that is to be translated",
      "type": "uri"
    },
    {
      "name": "version",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The version of the system, if one was provided in the source data",
      "type": "string"
    },
    {
      "name": "source",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "Identifies the value set used when the concept (system/code pair) was chosen. May be a logical id, or an absolute or relative location. The source value set is an optional parameter because in some cases, the client cannot know what the source value set is. However, without a source value set, the server may be unable to safely identify an applicable concept map, and would return an error. For this reason, a source value set SHOULD always be provided. Note that servers may be able to identify an appropriate concept map without a source value set if there is a full mapping for the entire code system in the concept map, or by manual intervention",
      "type": "uri"
    },
    {
      "name": "coding",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A coding to translate",
      "type": "Coding"
    },
    {
      "name": "codeableConcept",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses",
      "type": "CodeableConcept"
    },
    {
      "name": "target",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "Identifies the value set in which a translation is sought. May be a logical id, or an absolute or relative location. If there's no target specified, the server should return all known translations, along with their source",
      "type": "uri"
    },
    {
      "name": "targetsystem",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "identifies a target code system in which a mapping is sought. This parameter is an alternative to the target parameter - only one is required. Searching for any translation to a target code system irrespective of the context (e.g. target valueset) may lead to unsafe results, and it is at the discretion of the server to decide when to support this operation",
      "type": "uri"
    },
    {
      "name": "dependency",
      "use": "in",
      "min": 0,
      "max": "*",
      "documentation": "Another element that may help produce the correct mapping"
    },
    {
      "name": "reverse",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "if this is true, then the operation should return all the codes that might be mapped to this code. This parameter reverses the meaning of the source and target parameters",
      "type": "boolean"
    },
    {
      "name": "result",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "True if the concept could be translated successfully. The value can only be true if at least one returned match has an equivalence which is not  unmatched or disjoint",
      "type": "boolean"
    },
    {
      "name": "message",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "Error details, for display to a human. If this is provided when result = true, the message carries hints and warnings (e.g. a note that the matches could be improved by providing additional detail)",
      "type": "string"
    },
    {
      "name": "match",
      "use": "out",
      "min": 0,
      "max": "*",
      "documentation": "A concept in the target value set with an equivalence. Note that there may be multiple matches of equal or differing equivalence, and the matches may include equivalence values that mean that there is no match"
    }
  ]
}
Example #4
Input CSV
OperationDefinition,9,"example","http://h7.org/fhir/OperationDefinition/example","B","Populate Questionnaire",,"draft","operation",,"2015-08-04","Acme Healthcare Services","Limited implementation of the Populate Questionnaire implementation",,,"populate","Only implemented for Labs and Medications so far","OperationDefinition/Questionnaire-populate",false,false,true,,
contact,"System Administrator","email","beep@coyote.acme.com",,,,
useContext,"http://build.fhir.org/codesystem-usage-context-type",,"venue","Clinical Venue",,"http://terminology.hl7.org/CodeSystem/v3-ActCode",,"IMP","inpatient encounter",,,,,,,,,,,,,,,,,,,,,,,,,,,,,
jurisdiction,"urn:iso:std:iso:3166",,"GB","United Kingdom of Great Britain and Northern Ireland (the)",,
resource,"Questionnaire"
parameter,"subject","in",1,"1","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.","Reference",,,,,,
parameter,"local","in",0,"1","If the *local* parameter is set to true, server information about the specified subject will be used to populate the instance.","Reference",,,,,,
parameter,"return","out",1,"1","The partially (or fully)-populated set of answers for the specified Questionnaire","QuestionnaireResponse",,,,,,
overload,"subject",
overload,"subject","local defaults to false when not passed as a parameter"
Resulting resource
{
  "resourceType": "OperationDefinition",
  "id": "example",
  "url": "http://h7.org/fhir/OperationDefinition/example",
  "version": "B",
  "name": "Populate Questionnaire",
  "status": "draft",
  "kind": "operation",
  "date": "2015-08-04",
  "publisher": "Acme Healthcare Services",
  "contact": [
    {
      "name": "System Administrator",
      "telecom": [
        {
          "system": "email",
          "value": "beep@coyote.acme.com"
        }
      ]
    }
  ],
  "description": "Limited implementation of the Populate Questionnaire implementation",
  "useContext": [
    {
      "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"
          }
        ]
      }
    }
  ],
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "GB",
          "display": "United Kingdom of Great Britain and Northern Ireland (the)"
        }
      ]
    }
  ],
  "code": "populate",
  "comment": "Only implemented for Labs and Medications so far",
  "base": "OperationDefinition/Questionnaire-populate",
  "resource": [
    "Questionnaire"
  ],
  "system": false,
  "type": false,
  "instance": true,
  "parameter": [
    {
      "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"
    }
  ],
  "overload": [
    {
      "parameterName": [
        "subject",
        "local"
      ]
    },
    {
      "parameterName": [
        "subject"
      ],
      "comment": "local defaults to false when not passed as a parameter"
    }
  ]
}
Example #5
Input CSV
OperationDefinition,4,"Library-data-requirements","http://hl7.org/fhir/OperationDefinition/Library-data-requirements","4.0.1","Data Requirements",,"draft","operation",,"2019-11-01T09:29:23+11:00","HL7 (FHIR Project)","The data-requirements operation aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition",,,"data-requirements","The effect of invoking this operation is to determine the aggregate set of data requirements and dependencies for a given target resource. The result is a Library resource with a type of module-definition that contains all the parameter definitions and data requirements of the target resource and any libraries referenced by it. Implementations SHOULD aggregate data requirements intelligently (i.e. by collapsing overlapping data requirements)",,true,false,true,,
contact,,"url","http://hl7.org/fhir",,,,
resource,"Library"
parameter,"target","in",0,"1","The target of the data requirements operation","string",,,,,,
parameter,"return","out",1,"1","The result of the requirements gathering","Library",,,,,,
Resulting resource
{
  "resourceType": "OperationDefinition",
  "id": "Library-data-requirements",
  "url": "http://hl7.org/fhir/OperationDefinition/Library-data-requirements",
  "version": "4.0.1",
  "name": "Data Requirements",
  "status": "draft",
  "kind": "operation",
  "date": "2019-11-01T09:29:23+11:00",
  "publisher": "HL7 (FHIR Project)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        },
        {
          "system": "email",
          "value": "fhir@lists.hl7.org"
        }
      ]
    }
  ],
  "description": "The data-requirements operation aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition",
  "code": "data-requirements",
  "comment": "The effect of invoking this operation is to determine the aggregate set of data requirements and dependencies for a given target resource. The result is a Library resource with a type of module-definition that contains all the parameter definitions and data requirements of the target resource and any libraries referenced by it. Implementations SHOULD aggregate data requirements intelligently (i.e. by collapsing overlapping data requirements)",
  "resource": [
    "Library"
  ],
  "system": true,
  "type": false,
  "instance": true,
  "parameter": [
    {
      "name": "target",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The target of the data requirements operation",
      "type": "string"
    },
    {
      "name": "return",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "The result of the requirements gathering",
      "type": "Library"
    }
  ]
}