This page is part of the Da Vinci Data Exchange for Quality Measures (DEQM) FHIR IG (v5.0.0: STU5 (v5.0.0)) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/davinci-deqm/OperationDefinition/bulk-submit-data | Version: 5.0.0 | |||
Standards status: Trial-use | Maturity Level: 0 | Computable Name: BulkSubmitData | ||
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.33.1 |
The bulk-submit-data operation sends a bulk import request based on the data requirements of a FHIR Measure. This operation is modeled off the existing draft of the Bulk Data Import Ping and Pull Approach.
NOTE: Generalized bulk data operations in FHIR are in the process of being updated based on implementer feedback and as part of industry initiatives. As of the time of this publication, those specification updates are still in progress. Implementers should be aware that the $bulk-submit-data operation proposed by this specification will be updated (up to and included simply removed in favor of referencing updated operations) when newer versions of the bulkdata import and export specifications are published.
The request body for this operation is a FHIR Parameters Resource. The body SHALL include a FHIR MeasureReport Resource of type data-collection
that references a measure by canonical URL. Additionally, the FHIR Parameters resource SHALL include the URL of a Data Provider, as defined in the Bulk Data Import Ping and Pull Approach. The Data Provider SHALL support $export
. It is assumed that the data-of-interest for the measure referenced in the MeasureReport lives on the Data Provider server.
The Data Consumer server SHALL support invocation of the bulk submit-data operation using the FHIR Asynchronous Request Pattern via a POST request containing the FHIR Parameters Resource described above. To avoid overloading the standard $submit-data operation, the bulk submit-data operation will send a POST request to the $bulk-submit-data
endpoint.
When kicking off the request, if the “prefer”: “respond-async”
header is provided, the bulk submit-data operation will calculate the data requirements for the measure-of-interest. The Data Consumer will kick off an $export
request to the Data Provider. Then, the data exported from the Data Provider is uploaded to the system.
Required header(s):
"prefer": "respond-async"
Specifies whether the response is immediate or asynchronous.
Request: Submit data of interest for FHIR Measure with "test-measure" identifier from the Data Provider http://example.com/
POST [base]/Measure/test-measure/$bulk-submit-data
{
"resourceType": "Parameters",
"parameter": [
{
"name": "exportUrl",
"valueUrl": "http://example.com/$export"
},
{
"name": "exportType",
"valueCode": "dynamic"
},
{
"name": "measureReport",
"resource": [
{
"resourceType": "MeasureReport",
"type": "data-collection,
"status": "pending",
"measure": "http://example.com/Measure/test-measure",
"period": {
"start": "2022-01-01",
"end": "2022-12-31"
}
}
]
}
]
}
Response:
HTTP/1.1 202 Accepted
Request: Submit data of interest related to patients in the group "test-group" for FHIR Measure with id "test-measure" from the Data Provider http://example.com/. Group "test-group" must exist on the export server.
POST [base]/Measure/test-measure/$bulk-submit-data
{
"resourceType": "Parameters",
"parameter": [
{
"name": "exportUrl",
"valueUrl": "http://example.com/Group/test-group/$export"
},
{
"name": "measureReport",
"resource": [
{
"resourceType": "MeasureReport",
"type": "data-collection,
"status": "pending",
"measure": "http://example.com/Measure/test-measure",
"period": {
"start": "2022-01-01",
"end": "2022-12-31"
}
}
]
}
]
}
Response:
HTTP/1.1 202 Accepted
Request: Submit all FHIR Observations and Procedures of interest for FHIR Measure with id "test-measure" from the Data Provider http://example.com/.
POST [base]/Measure/test-measure/$bulk-submit-data
{
"resourceType": "Parameters",
"parameter": [
{
"name": "exportUrl",
"valueUrl": "http://example.com/$export"
},
{
"name": "_type",
"valueString": "Observation"
},
{
"name": "_type",
"valueString": "Procedure"
},
{
"name": "measureReport",
"resource": [
{
"resourceType": "MeasureReport",
"type": "data-collection,
"status": "pending",
"measure": "http://example.com/Measure/test-measure",
"period": {
"start": "2022-01-01",
"end": "2022-12-31"
}
}
]
}
]
}
Response:
HTTP/1.1 202 Accepted
URL: [base]/Measure/$bulk-submit-data
URL: [base]/Measure/[id]/$bulk-submit-data
Parameters
Use | Name | Cardinality | Type | Binding | Documentation |
IN | measureReport | 1..* | MeasureReport | The measure report that is being submitted | |
IN | exportType | 0..1 | code | (Optional) String of If the value is If the value is | |
IN | exportUrl | 1..1 | url | The absolute URL of the bulk export endpoint of a Data Provider (if the | |
IN | _type | 0..* | string | (Optional) Restrict the data exported to only be specific FHIR resource types. See the bulk data $export spec for more information on '_type' | |
IN | useTypeFilters | 0..1 | boolean | (Optional) If enabled, data exported by the 'exportUrl' system will be filtered according to the data requirements of the Measure. Requires support of the _typeFilter experimental parameter in the export server. See the bulk data $export spec for more information on '_typeFilter' |