FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagehl7.fhir.uv.sql-on-fhir
Resource TypeOperationDefinition
IdOperationDefinition-SQLExport.json
FHIR VersionR6
Sourcehttps://build.fhir.org/ig/HL7/sql-on-fhir/OperationDefinition-SQLExport.html
URLhttp://hl7.org/fhir/uv/sql-on-fhir/OperationDefinition/SQLExport
Version3.0.0-ballot
Statusactive
Date2026-08-13T15:42:34+00:00
NameSQLExport
TitleSQL Export
Realmuv
Authorityhl7
DescriptionExport one or more ViewDefinitions, SQLQuery Libraries and SQLView Libraries as a single asynchronous job, using the FHIR Asynchronous Interaction Request Pattern.
Typefalse
Kindoperation

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: OperationDefinition SQLExport

URL: [base]/$sql-export

Parameters

UseNameScopeCardinalityTypeBindingDocumentation
INsubject1..*

One or more artifacts to export, in any mixture of ViewDefinitions, SQLQuery Libraries and SQLView Libraries. Each repetition names a single subject and produces exactly one output entry in the manifest. A request supplying no subject is rejected with 400 Bad Request, as is a request in which two repetitions would produce the same output name.

INsubject.name0..1string

Name for this subject's output entry in the manifest. Where it is omitted the server uses the subject's own name element, and where the subject declares none, a server-generated identifier. Output names are unique across the job.

INsubject.subjectCanonical0..1canonical (View Definition, SQL Query Library, SQL View Library)

Canonical URL of the ViewDefinition, SQLQuery Library or SQLView Library to export, optionally with a |version suffix pinning a version. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied in each repetition.

INsubject.subjectReference0..1Reference (View Definition, SQL Query Library, SQL View Library)

Literal location of the subject to export: 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 in each repetition.

INsubject.subjectResource0..1CanonicalResource (View Definition, SQL Query Library, SQL View Library)

Inline ViewDefinition, SQLQuery Library or SQLView Library to export. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied in each repetition. 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).

INsubject.parameters0..1Parameters

Input parameter values for this subject, bound by name to the parameters the Library declares (Library.parameter.name). Permitted only where this repetition's 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.

INcontext0..*CanonicalResource (View Definition, SQL View Library)

Supporting artifacts the server cannot itself resolve, supplied inline and matched by canonical URL against the dependencies in the subjects' transitive relatedArtifact graphs. Applies to the job as a whole rather than to one subject, so an artifact several subjects depend on is supplied once. Accepts inline resources only; there is no context by canonical URL, because a URL is exactly what the server has already failed to resolve. A context entry produces no output entry. See Common Operation Behavior (operations-common.html#context).

INclientTrackingId0..1string

Client-provided tracking identifier for the export job, echoed in the manifest.

IN_format0..1codeExport Output Format Codes (Extensible)

Output format for the exported files (csv, ndjson, parquet, json). Optional; if omitted, the server uses ndjson irrespective of Accept. Requesting fhir is rejected with 400 Bad Request, because an export produces flat files. See Common Operation Behavior (operations-common.html).

INheader0..1boolean

Include CSV headers (default true). Applies only when csv output is requested.

INpatient0..*Reference

Restrict the FHIR resources feeding every subject in the job, before projection, to the supplied patient(s). Where a 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).

INgroup0..*Reference

Restrict the FHIR resources feeding every subject in the job, before projection, to members of the supplied group(s). Where a 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).

IN_since0..1instant

Include only resources whose state changed after this instant. See Common Operation Behavior (operations-common.html#since-filter).

INsource0..1string

External data source to read from instead of the server's own data (for example a URI or bucket name). Where a subject is a SQLQuery or SQLView, this is where the ViewDefinition tables the query selects from are found.

OUTexportId1..1string

Server-generated identifier assigned to the export job.

OUTclientTrackingId0..1string

Echoed client tracking identifier when provided.

OUTstatus1..1codeExport Status Codes (Required)

Status of the export (accepted, in-progress, completed, cancelled, failed).

OUTlocation1..1uri

URL to poll for export status updates.

OUTcancelUrl0..1uri

Optional URL for cancelling the export.

OUT_format0..1codeExport Output Format Codes (Extensible)

Format of the exported files (echoed from input if supplied).

OUTexportStartTime0..1instant

Timestamp when the export job began.

OUTexportEndTime0..1instant

Timestamp when the export job completed.

OUTexportDuration0..1integer

Duration of the export in seconds.

OUTestimatedTimeRemaining0..1integer

Estimated seconds remaining until completion. Interim polling responses only.

OUToutput0..*

Output information for each exported subject. Exactly one entry per subject repetition, and none for a context entry. Neither manifest order nor computation order is guaranteed; clients correlate entries by name.

OUToutput.name1..1string

Name assigned to this subject's output, derived from subject.name, else the subject's own name element, else a server-generated identifier.

OUToutput.location1..*uri

Download URL(s) for the exported file(s).


Source1

{
  "resourceType": "OperationDefinition",
  "id": "SQLExport",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "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/SQLExport",
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:2.16.840.1.113883.4.642.40.77.33.5"
    }
  ],
  "version": "3.0.0-ballot",
  "versionAlgorithmString": "semver",
  "name": "SQLExport",
  "title": "SQL Export",
  "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": "Export one or more ViewDefinitions, SQLQuery Libraries and SQLView Libraries as a single asynchronous job, using the FHIR Asynchronous Interaction Request Pattern.",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001",
          "display": "World"
        }
      ]
    }
  ],
  "code": "sql-export",
  "system": true,
  "type": false,
  "instance": false,
  "parameter": [
    {
      "name": "subject",
      "use": "in",
      "min": 1,
      "max": "*",
      "documentation": "One or more artifacts to export, in any mixture of ViewDefinitions, SQLQuery Libraries and SQLView Libraries. Each repetition names a single subject and produces exactly one output entry in the manifest. A request supplying no subject is rejected with 400 Bad Request, as is a request in which two repetitions would produce the same output name.",
      "part": [
        {
          "name": "name",
          "use": "in",
          "min": 0,
          "max": "1",
          "documentation": "Name for this subject's output entry in the manifest. Where it is omitted the server uses the subject's own name element, and where the subject declares none, a server-generated identifier. Output names are unique across the job.",
          "type": "string"
        },
        {
          "name": "subjectCanonical",
          "use": "in",
          "min": 0,
          "max": "1",
          "documentation": "Canonical URL of the ViewDefinition, SQLQuery Library or SQLView Library to export, optionally with a |version suffix pinning a version. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied in each repetition.",
          "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 export: 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 in each repetition.",
          "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 export. Exactly one of subjectCanonical, subjectReference and subjectResource is supplied in each repetition. 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 this subject, bound by name to the parameters the Library declares (Library.parameter.name). Permitted only where this repetition's 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.",
          "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 subjects' transitive relatedArtifact graphs. Applies to the job as a whole rather than to one subject, so an artifact several subjects depend on is supplied once. Accepts inline resources only; there is no context by canonical URL, because a URL is exactly what the server has already failed to resolve. A context entry produces no output entry. 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": "clientTrackingId",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "Client-provided tracking identifier for the export job, echoed in the manifest.",
      "type": "string"
    },
    {
      "name": "_format",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "Output format for the exported files (csv, ndjson, parquet, json). Optional; if omitted, the server uses ndjson irrespective of Accept. Requesting fhir is rejected with 400 Bad Request, because an export produces flat files. See Common Operation Behavior (operations-common.html).",
      "type": "code",
      "binding": {
        "strength": "extensible",
        "valueSet": "http://hl7.org/fhir/uv/sql-on-fhir/ValueSet/ExportOutputFormatCodes"
      }
    },
    {
      "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 every subject in the job, before projection, to the supplied patient(s). Where a 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 every subject in the job, before projection, to members of the supplied group(s). Where a 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 a subject is a SQLQuery or SQLView, this is where the ViewDefinition tables the query selects from are found.",
      "type": "string"
    },
    {
      "name": "exportId",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "Server-generated identifier assigned to the export job.",
      "type": "string"
    },
    {
      "name": "clientTrackingId",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "Echoed client tracking identifier when provided.",
      "type": "string"
    },
    {
      "name": "status",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "Status of the export (accepted, in-progress, completed, cancelled, failed).",
      "type": "code",
      "binding": {
        "strength": "required",
        "valueSet": "http://hl7.org/fhir/uv/sql-on-fhir/ValueSet/ExportStatusCodes"
      }
    },
    {
      "name": "location",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "URL to poll for export status updates.",
      "type": "uri"
    },
    {
      "name": "cancelUrl",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "Optional URL for cancelling the export.",
      "type": "uri"
    },
    {
      "name": "_format",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "Format of the exported files (echoed from input if supplied).",
      "type": "code",
      "binding": {
        "strength": "extensible",
        "valueSet": "http://hl7.org/fhir/uv/sql-on-fhir/ValueSet/ExportOutputFormatCodes"
      }
    },
    {
      "name": "exportStartTime",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "Timestamp when the export job began.",
      "type": "instant"
    },
    {
      "name": "exportEndTime",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "Timestamp when the export job completed.",
      "type": "instant"
    },
    {
      "name": "exportDuration",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "Duration of the export in seconds.",
      "type": "integer"
    },
    {
      "name": "estimatedTimeRemaining",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "Estimated seconds remaining until completion. Interim polling responses only.",
      "type": "integer"
    },
    {
      "name": "output",
      "use": "out",
      "min": 0,
      "max": "*",
      "documentation": "Output information for each exported subject. Exactly one entry per subject repetition, and none for a context entry. Neither manifest order nor computation order is guaranteed; clients correlate entries by name.",
      "part": [
        {
          "name": "name",
          "use": "out",
          "min": 1,
          "max": "1",
          "documentation": "Name assigned to this subject's output, derived from subject.name, else the subject's own name element, else a server-generated identifier.",
          "type": "string"
        },
        {
          "name": "location",
          "use": "out",
          "min": 1,
          "max": "*",
          "documentation": "Download URL(s) for the exported file(s).",
          "type": "uri"
        }
      ]
    }
  ]
}