This page is part of the FHIR Specification (v1.0.2: DSTU 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
. Page versions: R5 R4B R4 R3 R2
An example transaction
{
"resourceType": "Bundle",
"id": "bundle-transaction",
"meta": {
"fhir_comments": [
" this example bundle is a transaction ",
" when the transaction was constructed "
],
"lastUpdated": "2014-08-18T01:43:30Z"
},
"type": "transaction",
"entry": [
{
"fhir_comments": [
" now, each entry is an action to take in the transaction "
],
"fullUrl": "urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a",
"resource": {
"resourceType": "Patient",
"text": {
"fhir_comments": [
" no id for create operations ",
" and no metadata on this resource, though it would be valid "
],
"status": "generated",
"div": "<div>Some narrative</div>"
},
"active": true,
"name": [
{
"use": "official",
"family": [
"Chalmers"
],
"given": [
"Peter",
"James"
]
}
],
"gender": "male",
"birthDate": "1974-12-25"
},
"request": {
"fhir_comments": [
" now, details about the action to take with the resource "
],
"method": "POST",
"_method": {
"fhir_comments": [
" POST to [base]/Patient - that's a create "
]
},
"url": "Patient",
"_url": {
"fhir_comments": [
" actually, in a transaction, you don't specify the [base], \n so [base]/Patient becomes just 'Patient': "
]
}
}
},
{
"fullUrl": "urn:uuid:88f151c0-a954-468a-88bd-5ae15c08e059",
"resource": {
"resourceType": "Patient",
"text": {
"fhir_comments": [
" no id for create operations ",
" and no metadata on this resource, though it would be valid "
],
"status": "generated",
"div": "<div>Some narrative</div>"
},
"active": true,
"name": [
{
"use": "official",
"family": [
"Chalmers"
],
"given": [
"Peter",
"James"
]
}
],
"gender": "male",
"birthDate": "1974-12-25"
},
"request": {
"fhir_comments": [
" transaction details "
],
"method": "POST",
"_method": {
"fhir_comments": [
" POST to [base]/Patient - that's a create "
]
},
"url": "Patient",
"_url": {
"fhir_comments": [
" actually, in a transaction, you don't specify the [base], \n so [base]/Patient becomes just 'Patient': "
]
},
"ifNoneExist": "identifier=234234",
"_ifNoneExist": {
"fhir_comments": [
" the conditional header: only add this resource if \n there isn't already one for this patient. If there is one,\n the content of this resource will be ignored "
]
}
}
},
{
"fullUrl": "http://example.org/fhir/Patient/123",
"resource": {
"resourceType": "Patient",
"id": "123",
"_id": {
"fhir_comments": [
" the id here and in the URL have to match "
]
},
"text": {
"fhir_comments": [
" and no metadata on this resource, though it would be valid "
],
"status": "generated",
"div": "<div>Some narrative</div>"
},
"active": true,
"name": [
{
"use": "official",
"family": [
"Chalmers"
],
"given": [
"Peter",
"James"
]
}
],
"gender": "male",
"birthDate": "1974-12-25"
},
"request": {
"fhir_comments": [
" transaction details "
],
"method": "PUT",
"_method": {
"fhir_comments": [
" PUT to [base]/Patient/[id] - that's an update "
]
},
"url": "Patient/123",
"_url": {
"fhir_comments": [
" actually, in a transaction, you don't specify the [base], \n so [base]/Patient becomes just 'Patient': "
]
}
}
},
{
"fullUrl": "urn:uuid:74891afc-ed52-42a2-bcd7-f13d9b60f096",
"resource": {
"resourceType": "Patient",
"text": {
"fhir_comments": [
" no id for conditional update operations ",
" and no metadata on this resource, though it would be valid "
],
"status": "generated",
"div": "<div>Some narrative</div>"
},
"active": true,
"name": [
{
"use": "official",
"family": [
"Chalmers"
],
"given": [
"Peter",
"James"
]
}
],
"gender": "male",
"birthDate": "1974-12-25"
},
"request": {
"fhir_comments": [
" transaction details "
],
"method": "PUT",
"_method": {
"fhir_comments": [
" PUT to [base]/Patient?search_params - that's a conditional update "
]
},
"url": "Patient?identifier=234234",
"_url": {
"fhir_comments": [
" actually, in a transaction, you don't specify the [base], \n so [base]/Patient?params becomes just 'Patient?params': "
]
}
}
},
{
"fhir_comments": [
" a different kind of conditional update: version dependent "
],
"fullUrl": "http://example.org/fhir/Patient/123a",
"resource": {
"resourceType": "Patient",
"id": "123a",
"text": {
"status": "generated",
"div": "<div>Some narrative</div>"
},
"active": true,
"name": [
{
"use": "official",
"family": [
"Chalmers"
],
"given": [
"Peter",
"James"
]
}
],
"gender": "male",
"birthDate": "1974-12-25"
},
"request": {
"method": "PUT",
"url": "Patient/123a",
"ifMatch": "W/\"2\"",
"_ifMatch": {
"fhir_comments": [
" this will only succeed if the source version is correct: "
]
}
}
},
{
"request": {
"fhir_comments": [
" a simple delete operation ",
" no resource in this case ",
" transaction details "
],
"method": "DELETE",
"_method": {
"fhir_comments": [
" DELETE to [base]/Patient/[id]- that's a delete operation "
]
},
"url": "Patient/234",
"_url": {
"fhir_comments": [
" actually, in a transaction, you don't specify the [base], \n so [base]/Patient/234 becomes just 'Patient/234': ",
" btw, couldn't re-use Patient/123 for the delete, since \n the transaction couldn't do two different operations on the\n same resource "
]
}
}
},
{
"request": {
"fhir_comments": [
" a conditional delete operation ",
" no resource in this case ",
" transaction details "
],
"method": "DELETE",
"_method": {
"fhir_comments": [
" DELETE to [base]/Patient?params- that's a conditional delete operation "
]
},
"url": "Patient?identifier=123456",
"_url": {
"fhir_comments": [
" actually, in a transaction, you don't specify the [base], \n so [base]/Patient?params becomes just 'Patient?params': "
]
}
}
},
{
"fullUrl": "urn:uuid:79378cb8-8f58-48e8-a5e8-60ac2755b674",
"resource": {
"resourceType": "Parameters",
"parameter": [
{
"name": "coding",
"valueCoding": {
"system": "http://loinc.org",
"code": "1963-8"
}
}
]
},
"request": {
"method": "POST",
"_method": {
"fhir_comments": [
" POST to [base]/ValueSet/$lookup - invoking a lookup operation (see Terminology Service) "
]
},
"url": "ValueSet/$lookup"
}
},
{
"request": {
"fhir_comments": [
" can also do read-only operations. \n \n Note that these do not 'fail' - see discussion on transaction \n atomicity for further information \n "
],
"method": "GET",
"_method": {
"fhir_comments": [
" GET from [base]/Patient?params - searching for a patient "
]
},
"url": "Patient?name=peter"
}
},
{
"request": {
"fhir_comments": [
" and an example conditional read: "
],
"method": "GET",
"url": "Patient/12334",
"ifNoneMatch": "W/\"4\"",
"_ifNoneMatch": {
"fhir_comments": [
" in practice, you'd only specify one of these "
]
},
"ifModifiedSince": "2015-08-31T08:14:33+10:00"
}
}
]
}
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.