OperationDefinition - FHIR Resource (r4)


This OperationDefinition Resource uses the FHIR API standard for access and structure.

Validate an OperationDefinition FHIR Resource (r4)



Resource Attributes

AttributeField is listTypeDescription
affectsStatefalseboolean# Whether content is changed by the operation
basefalsecanonical(OperationDefinition)# Marks this as a profile of the base
codefalsecode# Name used to invoke the operation
commentfalsemarkdown# Additional information about use
contacttrueContactDetail# Contact details for the publisher
datefalsedateTime# Date last changed
descriptionfalsemarkdown# Natural language description of the operation definition
experimentalfalseboolean# For testing purposes, not real usage
inputProfilefalsecanonical(StructureDefinition)# Validation information for in parameters
instancefalseboolean# Invoke on an instance?
jurisdictiontrueCodeableConcept# Intended jurisdiction for operation definition (if applicable)
kindfalsecode# operation | query
namefalsestring# C? Name for this operation definition (computer friendly)
outputProfilefalsecanonical(StructureDefinition)# Validation information for out parameters
overloadtrueData Type# Define overloaded variants for when generating code
parametertrueData Type# Parameters for the operation/query
publisherfalsestring# Name of the publisher (organization or individual)
purposefalsemarkdown# Why this operation definition is defined
resourcetruecode# Types this operation applies to
statusfalsecode# draft | active | retired | unknown
systemfalseboolean# Invoke at the system level?
titlefalsestring# Name for this operation definition (human friendly)
typefalseboolean# Invoke at the type level?
urlfalseuri# Canonical identifier for this operation definition, represented as a URI (globally unique)
useContexttrueUsageContext# The context that the content is intended to support
versionfalsestring# Business version of the operation definition

OperationDefinition Example

{
  "resourceType": "OperationDefinition",
  "id": "example",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: example</p><p><b>url</b>: <b>http://h7.org/fhir/OperationDefinition/example</b></p><p><b>version</b>: B</p><p><b>name</b>: Populate Questionnaire</p><p><b>status</b>: draft</p><p><b>kind</b>: operation</p><p><b>date</b>: 04/08/2015</p><p><b>publisher</b>: Acme Healthcare Services</p><p><b>contact</b>: </p><p><b>description</b>: Limited implementation of the Populate Questionnaire implementation</p><p><b>useContext</b>: </p><p><b>jurisdiction</b>: United Kingdom of Great Britain and Northern Ireland (the) <span>(Details : {urn:iso:std:iso:3166 code 'GB' = 'United Kingdom of Great Britain and Northern Ireland', given as 'United Kingdom of Great Britain and Northern Ireland (the)'})</span></p><p><b>code</b>: populate</p><p><b>comment</b>: Only implemented for Labs and Medications so far</p><p><b>base</b>: <a>OperationDefinition/Questionnaire-populate</a></p><p><b>resource</b>: Questionnaire</p><p><b>system</b>: false</p><p><b>type</b>: false</p><p><b>instance</b>: true</p><blockquote><p><b>parameter</b></p><p><b>name</b>: subject</p><p><b>use</b>: in</p><p><b>min</b>: 1</p><p><b>max</b>: 1</p><p><b>documentation</b>: 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.</p><p><b>type</b>: Reference</p></blockquote><blockquote><p><b>parameter</b></p><p><b>name</b>: local</p><p><b>use</b>: in</p><p><b>min</b>: 0</p><p><b>max</b>: 1</p><p><b>documentation</b>: If the *local* parameter is set to true, server information about the specified subject will be used to populate the instance.</p><p><b>type</b>: Reference</p></blockquote><blockquote><p><b>parameter</b></p><p><b>name</b>: return</p><p><b>use</b>: out</p><p><b>min</b>: 1</p><p><b>max</b>: 1</p><p><b>documentation</b>: The partially (or fully)-populated set of answers for the specified Questionnaire</p><p><b>type</b>: QuestionnaireResponse</p></blockquote><blockquote><p><b>overload</b></p><p><b>parameterName</b>: subject, local</p></blockquote><blockquote><p><b>overload</b></p><p><b>parameterName</b>: subject</p><p><b>comment</b>: local defaults to false when not passed as a parameter</p></blockquote></div>"
  },
  "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"
    }
  ]
}

OperationDefinition Structure

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

OperationDefinition Search Parameters

The following search parameters can be used to query OperationDefinition resources. Just submit them like so:

https://api.1up.health/fhir/r4/OperationDefinition?query-param=queryvalue
Search ParameterField TypeResource Fields Searched
base TUreferencebase
code TUtextcode
context TUtextuseContext.value
context-quantity TUquantityuseContext.value
context-type TUtextuseContext.code
context-type-quantity TUcompositeuseContext
context-type-value TUcompositeuseContext
date TUdatedate
description TUtextdescription
input-profile TUreferenceinputProfile
instance TUtextinstance
jurisdiction TUtextjurisdiction
kind TUtextkind
name TUtextname
output-profile TUreferenceoutputProfile
publisher TUtextpublisher
status TUtextstatus
system TUtextsystem
title TUtexttitle
type TUtexttype
url TUuriurl
version TUtextversion