{
"description": "Execute a ViewDefinition, SQLQuery Library or SQLView Library and return the result in the requested output format.",
"_filename": "OperationDefinition-SQLRun.json",
"package_name": "hl7.fhir.uv.sql-on-fhir",
"date": "2026-08-14T02:49:31+10:00",
"system": true,
"publisher": "HL7 International / FHIR Infrastructure",
"instance": false,
"jurisdiction": [ {
"coding": [ {
"code": "001",
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"display": "World"
} ]
} ],
"name": "SQLRun",
"type": "false",
"experimental": null,
"resourceType": "OperationDefinition",
"title": "SQL Run",
"package_version": "3.0.0-ballot",
"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"
} ]
}
} ],
"status": "active",
"id": "69de12e3-d5f7-4785-8858-c63f22306d31",
"kind": "operation",
"url": "http://hl7.org/fhir/uv/sql-on-fhir/OperationDefinition/SQLRun",
"code": "sql-run",
"identifier": [ {
"value": "urn:oid:2.16.840.1.113883.4.642.40.77.33.6",
"system": "urn:ietf:rfc:3986"
} ],
"versionAlgorithmString": "semver",
"version": "3.0.0-ballot",
"contact": [ {
"name": "HL7 International / FHIR Infrastructure",
"telecom": [ {
"value": "http://www.hl7.org/Special/committees/fiwg",
"system": "url"
} ]
} ],
"parameter": [ {
"max": "1",
"min": 0,
"use": "in",
"name": "subjectCanonical",
"type": "canonical",
"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.",
"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" ]
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "subjectReference",
"type": "Reference",
"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.",
"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" ]
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "subjectResource",
"type": "CanonicalResource",
"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).",
"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" ]
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "parameters",
"type": "Parameters",
"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."
}, {
"max": "*",
"min": 0,
"use": "in",
"name": "context",
"type": "CanonicalResource",
"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).",
"targetProfile": [ "http://hl7.org/fhir/StructureDefinition/ViewDefinition", "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLView" ]
}, {
"max": "*",
"min": 0,
"use": "in",
"name": "resource",
"type": "Resource",
"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)."
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "_format",
"type": "code",
"binding": {
"strength": "extensible",
"valueSet": "http://hl7.org/fhir/uv/sql-on-fhir/ValueSet/OutputFormatCodes"
},
"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)."
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "header",
"type": "boolean",
"documentation": "Include CSV headers (default true). Applies only when csv output is requested."
}, {
"max": "*",
"min": 0,
"use": "in",
"name": "patient",
"type": "Reference",
"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)."
}, {
"max": "*",
"min": 0,
"use": "in",
"name": "group",
"type": "Reference",
"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)."
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "_since",
"type": "instant",
"documentation": "Include only resources whose state changed after this instant. See Common Operation Behavior (operations-common.html#since-filter)."
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "source",
"type": "string",
"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."
}, {
"max": "1",
"min": 0,
"use": "in",
"name": "_limit",
"type": "integer",
"documentation": "Maximum number of rows to return."
}, {
"max": "1",
"min": 1,
"use": "out",
"name": "return",
"type": "Binary",
"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)."
} ]
}