# Bulk Import Example
---
### Start a submission with an import manifest
```mermaid
sequenceDiagram
participant DataSender as Data Sender
box Data Recipient
participant ImportEndpoint as data endpoint
participant ImportStatus as status endpoint
end
DataSender->>ImportEndpoint: POST Import Manifest
ImportEndpoint-->>DataSender: Status URL Header
```
**Request**
```
POST https://server.com/$bulk-submit
```
```json
{
"submitter": {
"system": "http://hrsa.gov/grant-number",
"value": "H80CS12345"
},
"submissionId": "a15eea1f-1605-4303-989f-542d3a7962d8",
"manifestId": "3556d214-c6e2-42e6-a7f7-89690f7a40bb_1",
"transactionTime": "2025-01-01T00:00:00Z",
"outputOrganizedBy": "Patient",
"output" : [{
"url" : "https://example.com/output/file_1.ndjson"
},{
"url" : "https://example.com/output/file_2.ndjson",
"continuesInFile": "https://example.com/output/file_3.ndjson"
},{
"url" : "https://example.com/output/file_3.ndjson"
}]
}
```
**Response**
```
Status: 202 Accepted
Content-Location: http://server.com/import-status/123456
```
---
### Optional status check
```mermaid
sequenceDiagram
participant DataSender as Data Sender
box Data Recipient
participant ImportEndpoint as data endpoint
participant ImportStatus as status endpoint
end
DataSender->>ImportStatus: Ping Status Endpoint
ImportStatus-->>DataSender: Optional Partial Export Manifest
```
**Request**
```
GET http://server.com/import-status/123456
```
**Response**
```
Status: 202 Accepted
```
```json
{
"extension": {
"submissionId": "a15eea1f-1605-4303-989f-542d3a7962d8"
},
"transactionTime": "2025-01-01T00:00:00Z",
"output" : [{
"extension": {
//tie to manifest - should this also tie to one or more files?
"manifestId": "3556d214-c6e2-42e6-a7f7-89690f7a40bb_1",
},
"url" : "https://example.com/output/validation_errors_1.ndjson"
}]
}
```
---
### Final import manifest of the submission
```mermaid
sequenceDiagram
participant DataSender as Data Sender
box Data Recipient
participant ImportEndpoint as data endpoint
participant ImportStatus as status endpoint
end
DataSender->>ImportEndpoint: Import Manifest
ImportEndpoint-->>DataSender: Status URL
```
**Request**
```
POST https://server.com/$bulk-submit
```
```json
{
"submitter": {
"system": "http://hrsa.gov/grant-number",
"value": "H80CS12345"
},
"submissionId": "a15eea1f-1605-4303-989f-542d3a7962d8",
"submissionStatus": {
"system": "http://hl7.org/fhir/uv/bulkdata/ValueSet/submission-status",
"code": "complete"
},
"manifestId": "3556d214-c6e2-42e6-a7f7-89690f7a40bb_2",
"transactionTime": "2025-01-01T00:00:00Z",
"outputOrganizedBy": "Patient",
"output" : [{
"url" : "https://example.com/output/file_4.ndjson"
},{
"url" : "https://example.com/output/file_5.ndjson"
}]
}
```
**Response**
```
Status: 202 Accepted
Content-Location: http://server.com/import-status/123456
```
---
### Status check
```mermaid
sequenceDiagram
participant DataSender as Data Sender
box Data Recipient
participant ImportEndpoint as data endpoint
participant ImportStatus as status endpoint
end
DataSender->>ImportStatus: Ping Status Endpoint
ImportStatus-->>DataSender: Complete Export Manifest
```
**Request**
```
GET http://server.com/import-status/123456
```
**Response**
```
Status: 200 OK
```
```json
{
"extension": {
"submissionId": "a15eea1f-1605-4303-989f-542d3a7962d8"
},
"transactionTime": "2025-01-01T00:00:00Z",
"output" : [{
"extension": {
"manifestId": "3556d214-c6e2-42e6-a7f7-89690f7a40bb_1",
},
"url" : "https://example.com/output/validation_errors_1.ndjson"
}],
"link": [{
"relation": "next",
"url": "http://server.com/import-status/123456/manifest-2.json"
}]
}
```
---
### Manifest page request
```mermaid
sequenceDiagram
participant DataSender as Data Sender
box Data Recipient
participant ImportEndpoint as data endpoint
participant ImportStatus as status endpoint
end
DataSender->>ImportStatus: GET Manifest Page
ImportStatus-->>DataSender: Complete Export Manifest Page
```
**Request**
```
GET http://server.com/import-status/123456/manifest-2.json
```
**Response**
```
Status: 200 OK
```
```json
{
"extension": {
"submissionId": "a15eea1f-1605-4303-989f-542d3a7962d8"
},
"transactionTime": "2025-01-01T00:00:00Z",
"output" : [{
"extension": {
"manifestId": "3556d214-c6e2-42e6-a7f7-89690f7a40bb_2",
},
"url" : "https://example.com/output/validation_errors_2.ndjson"
},{
"extension": {
"manifestId": "3556d214-c6e2-42e6-a7f7-89690f7a40bb_1",
},
"url" : "https://example.com/output/import_errors_1.ndjson"
}]
}
```