{
  "resourceType" : "OperationDefinition",
  "id" : "SQLRun",
  "language" : "en",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: OperationDefinition SQLRun</b></p><a name=\"SQLRun\"> </a><a name=\"hcSQLRun\"> </a><p>URL: [base]/$sql-run</p><h3>Parameters</h3><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>subjectCanonical</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/datatypes.html#canonical\">canonical</a> (<a href=\"StructureDefinition-ViewDefinition.html\" title=\"http://hl7.org/fhir/StructureDefinition/ViewDefinition\">View Definition</a>, <a href=\"StructureDefinition-SQLQuery.html\" title=\"http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLQuery\">SQL Query Library</a>, <a href=\"StructureDefinition-SQLView.html\" title=\"http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView\">SQL View Library</a>)</td><td/><td><div><p>Canonical URL of the ViewDefinition, SQLQuery Library or SQLView Library to execute, optionally with a |version suffix pinning a version. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied; supplying none, or more than one, is rejected with 400 Bad Request.</p>\n</div></td></tr><tr><td>IN</td><td>subjectReference</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/references.html#Reference\">Reference</a> (<a href=\"StructureDefinition-ViewDefinition.html\" title=\"http://hl7.org/fhir/StructureDefinition/ViewDefinition\">View Definition</a>, <a href=\"StructureDefinition-SQLQuery.html\" title=\"http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLQuery\">SQL Query Library</a>, <a href=\"StructureDefinition-SQLView.html\" title=\"http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView\">SQL View Library</a>)</td><td/><td><div><p>Literal location of the subject to execute: a relative URL on this server, or an absolute URL. Not a canonical URL; use subjectCanonical for that. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied; supplying none, or more than one, is rejected with 400 Bad Request.</p>\n</div></td></tr><tr><td>IN</td><td>subjectResource</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/canonicalresource.html\">CanonicalResource</a> (<a href=\"StructureDefinition-ViewDefinition.html\" title=\"http://hl7.org/fhir/StructureDefinition/ViewDefinition\">View Definition</a>, <a href=\"StructureDefinition-SQLQuery.html\" title=\"http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLQuery\">SQL Query Library</a>, <a href=\"StructureDefinition-SQLView.html\" title=\"http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView\">SQL View Library</a>)</td><td/><td><div><p>Inline ViewDefinition, SQLQuery Library or SQLView Library to execute. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied; supplying none, or more than one, is rejected with 400 Bad Request. Carries a resource, so it requires POST. The declared type is CanonicalResource because ViewDefinition is a logical model rather than a FHIR resource; see Common Operation Behavior (operations-common.html#declared-type).</p>\n</div></td></tr><tr><td>IN</td><td>parameters</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/parameters.html\">Parameters</a></td><td/><td><div><p>Input parameter values for the subject, bound by name to the parameters the Library declares (Library.parameter.name), using the value[x] type matching each declared type. Permitted only where the subject is a SQLQuery or SQLView; supplying it where the subject is a ViewDefinition is rejected with 400 Bad Request, because a ViewDefinition declares no parameters. Carries a resource, so it requires POST.</p>\n</div></td></tr><tr><td>IN</td><td>context</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/canonicalresource.html\">CanonicalResource</a> (<a href=\"StructureDefinition-ViewDefinition.html\" title=\"http://hl7.org/fhir/StructureDefinition/ViewDefinition\">View Definition</a>, <a href=\"StructureDefinition-SQLView.html\" title=\"http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView\">SQL View Library</a>)</td><td/><td><div><p>Supporting artifacts the server cannot itself resolve, supplied inline and matched by canonical URL against the dependencies in the subject's transitive relatedArtifact graph. Accepts inline resources only; there is no context by canonical URL, because a URL is exactly what the server has already failed to resolve. Carries a resource, so it requires POST. See Common Operation Behavior (operations-common.html#context).</p>\n</div></td></tr><tr><td>IN</td><td>resource</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/resource.html\">Resource</a></td><td/><td><div><p>FHIR resources to transform instead of using server data. Repeatable. A Bundle supplied here is unwrapped: the view runs against each Bundle.entry[*].resource rather than against the Bundle itself. Permitted only where the subject is a ViewDefinition; supplying it where the subject is a SQLQuery or SQLView is rejected with 400 Bad Request, because how inline resources reach each dependency view is not specified. Carries a resource, so it requires POST. See OperationDefinition-SQLRun notes (Resource parameter and Bundle inputs).</p>\n</div></td></tr><tr><td>IN</td><td>_format</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/datatypes.html#code\">code</a></td><td><a href=\"ValueSet-OutputFormatCodes.html\">Output Format Codes</a> (Extensible)</td><td><div><p>Output format for the result (json, ndjson, csv, parquet, fhir). Use fhir to return results as a FHIR Parameters resource. Optional; if omitted, the server returns ndjson by default. See Common Operation Behavior (operations-common.html).</p>\n</div></td></tr><tr><td>IN</td><td>header</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Include CSV headers (default true). Applies only when csv output is requested.</p>\n</div></td></tr><tr><td>IN</td><td>patient</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/references.html#Reference\">Reference</a></td><td/><td><div><p>Restrict the FHIR resources feeding the view, before projection, to the supplied patient(s). Where the subject is a SQLQuery or SQLView, that means before the SQL executes. An unresolvable patient is rejected with 400 Bad Request. See Common Operation Behavior (operations-common.html#patient-filter).</p>\n</div></td></tr><tr><td>IN</td><td>group</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/references.html#Reference\">Reference</a></td><td/><td><div><p>Restrict the FHIR resources feeding the view, before projection, to members of the supplied group(s). Where the subject is a SQLQuery or SQLView, that means before the SQL executes. An unresolvable group is rejected with 400 Bad Request. See Common Operation Behavior (operations-common.html#group-filter).</p>\n</div></td></tr><tr><td>IN</td><td>_since</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/datatypes.html#instant\">instant</a></td><td/><td><div><p>Include only resources whose state changed after this instant. See Common Operation Behavior (operations-common.html#since-filter).</p>\n</div></td></tr><tr><td>IN</td><td>source</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/datatypes.html#string\">string</a></td><td/><td><div><p>External data source to read from instead of the server's own data (for example a URI or bucket name). Where the subject is a SQLQuery or SQLView, this is where the ViewDefinition tables the query selects from are found.</p>\n</div></td></tr><tr><td>IN</td><td>_limit</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/datatypes.html#integer\">integer</a></td><td/><td><div><p>Maximum number of rows to return.</p>\n</div></td></tr><tr><td>OUT</td><td>return</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/6.0.0-ballot5/binary.html\">Binary</a></td><td/><td><div><p>Result rows in the requested output format, returned as a raw binary stream in the format's native media type, not a serialized Binary resource envelope. When _format=fhir is requested, the response is a Parameters resource instead. See Common Operation Behavior (operations-common.html).</p>\n</div></td></tr></table></div>"
  },
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
    "valueCode" : "fhir"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger" : 2,
    "_valueInteger" : {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical" : "http://hl7.org/fhir/uv/sql-on-fhir/ImplementationGuide/hl7.fhir.uv.sql-on-fhir"
      }]
    }
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode" : "trial-use",
    "_valueCode" : {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical" : "http://hl7.org/fhir/uv/sql-on-fhir/ImplementationGuide/hl7.fhir.uv.sql-on-fhir"
      }]
    }
  }],
  "url" : "http://hl7.org/fhir/uv/sql-on-fhir/OperationDefinition/SQLRun",
  "identifier" : [{
    "system" : "urn:ietf:rfc:3986",
    "value" : "urn:oid:2.16.840.1.113883.4.642.40.77.33.6"
  }],
  "version" : "3.0.0-ballot",
  "versionAlgorithmString" : "semver",
  "name" : "SQLRun",
  "title" : "SQL Run",
  "status" : "active",
  "kind" : "operation",
  "date" : "2026-08-13T15:42:34+00:00",
  "publisher" : "HL7 International / FHIR Infrastructure",
  "contact" : [{
    "name" : "HL7 International / FHIR Infrastructure",
    "telecom" : [{
      "system" : "url",
      "value" : "http://www.hl7.org/Special/committees/fiwg"
    }]
  }],
  "description" : "Execute a ViewDefinition, SQLQuery Library or SQLView Library and return the result in the requested output format.",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
      "code" : "001",
      "display" : "World"
    }]
  }],
  "code" : "sql-run",
  "system" : true,
  "type" : false,
  "instance" : false,
  "parameter" : [{
    "name" : "subjectCanonical",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Canonical URL of the ViewDefinition, SQLQuery Library or SQLView Library to execute, optionally with a |version suffix pinning a version. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied; supplying none, or more than one, is rejected with 400 Bad Request.",
    "type" : "canonical",
    "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/ViewDefinition",
    "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLQuery",
    "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView"]
  },
  {
    "name" : "subjectReference",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Literal location of the subject to execute: a relative URL on this server, or an absolute URL. Not a canonical URL; use subjectCanonical for that. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied; supplying none, or more than one, is rejected with 400 Bad Request.",
    "type" : "Reference",
    "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/ViewDefinition",
    "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLQuery",
    "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView"]
  },
  {
    "name" : "subjectResource",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Inline ViewDefinition, SQLQuery Library or SQLView Library to execute. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied; supplying none, or more than one, is rejected with 400 Bad Request. Carries a resource, so it requires POST. The declared type is CanonicalResource because ViewDefinition is a logical model rather than a FHIR resource; see Common Operation Behavior (operations-common.html#declared-type).",
    "type" : "CanonicalResource",
    "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/ViewDefinition",
    "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLQuery",
    "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView"]
  },
  {
    "name" : "parameters",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Input parameter values for the subject, bound by name to the parameters the Library declares (Library.parameter.name), using the value[x] type matching each declared type. Permitted only where the subject is a SQLQuery or SQLView; supplying it where the subject is a ViewDefinition is rejected with 400 Bad Request, because a ViewDefinition declares no parameters. Carries a resource, so it requires POST.",
    "type" : "Parameters"
  },
  {
    "name" : "context",
    "use" : "in",
    "min" : 0,
    "max" : "*",
    "documentation" : "Supporting artifacts the server cannot itself resolve, supplied inline and matched by canonical URL against the dependencies in the subject's transitive relatedArtifact graph. Accepts inline resources only; there is no context by canonical URL, because a URL is exactly what the server has already failed to resolve. Carries a resource, so it requires POST. See Common Operation Behavior (operations-common.html#context).",
    "type" : "CanonicalResource",
    "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/ViewDefinition",
    "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView"]
  },
  {
    "name" : "resource",
    "use" : "in",
    "min" : 0,
    "max" : "*",
    "documentation" : "FHIR resources to transform instead of using server data. Repeatable. A Bundle supplied here is unwrapped: the view runs against each Bundle.entry[*].resource rather than against the Bundle itself. Permitted only where the subject is a ViewDefinition; supplying it where the subject is a SQLQuery or SQLView is rejected with 400 Bad Request, because how inline resources reach each dependency view is not specified. Carries a resource, so it requires POST. See OperationDefinition-SQLRun notes (Resource parameter and Bundle inputs).",
    "type" : "Resource"
  },
  {
    "name" : "_format",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Output format for the result (json, ndjson, csv, parquet, fhir). Use fhir to return results as a FHIR Parameters resource. Optional; if omitted, the server returns ndjson by default. See Common Operation Behavior (operations-common.html).",
    "type" : "code",
    "binding" : {
      "strength" : "extensible",
      "valueSet" : "http://hl7.org/fhir/uv/sql-on-fhir/ValueSet/OutputFormatCodes"
    }
  },
  {
    "name" : "header",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Include CSV headers (default true). Applies only when csv output is requested.",
    "type" : "boolean"
  },
  {
    "name" : "patient",
    "use" : "in",
    "min" : 0,
    "max" : "*",
    "documentation" : "Restrict the FHIR resources feeding the view, before projection, to the supplied patient(s). Where the subject is a SQLQuery or SQLView, that means before the SQL executes. An unresolvable patient is rejected with 400 Bad Request. See Common Operation Behavior (operations-common.html#patient-filter).",
    "type" : "Reference"
  },
  {
    "name" : "group",
    "use" : "in",
    "min" : 0,
    "max" : "*",
    "documentation" : "Restrict the FHIR resources feeding the view, before projection, to members of the supplied group(s). Where the subject is a SQLQuery or SQLView, that means before the SQL executes. An unresolvable group is rejected with 400 Bad Request. See Common Operation Behavior (operations-common.html#group-filter).",
    "type" : "Reference"
  },
  {
    "name" : "_since",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Include only resources whose state changed after this instant. See Common Operation Behavior (operations-common.html#since-filter).",
    "type" : "instant"
  },
  {
    "name" : "source",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "External data source to read from instead of the server's own data (for example a URI or bucket name). Where the subject is a SQLQuery or SQLView, this is where the ViewDefinition tables the query selects from are found.",
    "type" : "string"
  },
  {
    "name" : "_limit",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Maximum number of rows to return.",
    "type" : "integer"
  },
  {
    "name" : "return",
    "use" : "out",
    "min" : 1,
    "max" : "1",
    "documentation" : "Result rows in the requested output format, returned as a raw binary stream in the format's native media type, not a serialized Binary resource envelope. When _format=fhir is requested, the response is a Parameters resource instead. See Common Operation Behavior (operations-common.html).",
    "type" : "Binary"
  }]
}