Foundation
This
page
is
part
of
the
FHIR
Specification
(v5.0.0:
R5
-
STU
v6.0.0-ballot2:
Release
6
Ballot
(2nd
Draft)
(see
Ballot
Notes
).
This
is
the
The
current
published
version
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
| FHIR Infrastructure Work Group | Maturity Level : N/A | Standards Status : Informative | Compartments : No defined compartments |
Raw XML ( canonical form + also see XML Format Specification )
An example transaction (id = "bundle-transaction")
<?xml version="1.0" encoding="UTF-8"?> <Bundle xmlns="http://hl7.org/fhir"> <id value="bundle-transaction"/> <!-- this example bundle is a transaction --> <!-- when the transaction was constructed --> <meta> <lastUpdated value="2014-08-18T01:43:30Z"/></meta> <type value="transaction"/> <!-- now, each entry is an action to take in the transaction --> <entry> <fullUrl value="urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a"/> <!-- a simple create operation --> <!-- first, the resource to create --> <resource><Patient> <!-- no id for create operations --> <!-- and no metadata on this resource, though it would be valid --> <text><status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> </text> <active value="true"/> <name> <use value="official"/> <family value="Chalmers"/> <given value="Peter"/> <given value="James"/> </name> <gender value="male"/> <birthDate value="1974-12-25"/> </Patient> </resource> <!-- now, details about the action to take with the resource --> <request> <!-- POST to [base]/Patient - that's a create --> <method value="POST"/> <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient becomes just 'Patient': --> <url value="Patient"/> </request> </entry> <entry> <fullUrl value="urn:uuid:88f151c0-a954-468a-88bd-5ae15c08e059"/> <!-- a conditional create operation --> <!-- first, the resource --> <resource><Patient> <!-- no id for create operations --> <!-- and no metadata on this resource, though it would be valid --> <text><status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> </text> <identifier> <system value="http:/example.org/fhir/ids"/> <value value="234234"/> </identifier> <active value="true"/> <name> <use value="official"/> <family value="Chalmers"/> <given value="Peter"/> <given value="James"/> </name> <gender value="male"/> <birthDate value="1974-12-25"/> </Patient> </resource> <!-- transaction details --> <request> <!-- POST to [base]/Patient - that's a create --> <method value="POST"/> <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient becomes just 'Patient': --> <url value="Patient"/> <!-- the conditional header: only add this resource if there isn't already one for this patient. If there is one, the content of this resource will be ignored --> <ifNoneExist value="identifier=http:/example.org/fhir/ids|234234"/> </request> </entry> <entry> <fullUrl value="http://example.org/fhir/Patient/123"/> <!-- a simple update operation --> <!-- first, the resource --> <resource><Patient> <!-- the id here and in the URL have to match --> <id value="123"/> <!-- and no metadata on this resource, though it would be valid --> <text><status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> </text> <active value="true"/> <name> <use value="official"/> <family value="Chalmers"/> <given value="Peter"/> <given value="James"/> </name> <gender value="male"/> <birthDate value="1974-12-25"/> </Patient> </resource> <!-- transaction details --> <request> <!-- PUT to [base]/Patient/[id] - that's an update --> <method value="PUT"/> <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient becomes just 'Patient': --> <url value="Patient/123"/> </request> </entry> <entry> <fullUrl value="urn:uuid:74891afc-ed52-42a2-bcd7-f13d9b60f096"/> <!-- a conditional update operation --> <!-- first, the resource --> <resource><Patient> <!-- no id for conditional update operations --> <!-- and no metadata on this resource, though it would be valid --> <text><status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> </text> <identifier> <system value="http:/example.org/fhir/ids"/> <value value="456456"/> </identifier> <active value="true"/> <name> <use value="official"/> <family value="Chalmers"/> <given value="Peter"/> <given value="James"/> </name> <gender value="male"/> <birthDate value="1974-12-25"/> </Patient> </resource> <!-- transaction details --> <request> <!-- PUT to [base]/Patient?search_params - that's a conditional update --> <method value="PUT"/> <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient?params becomes just 'Patient?params': --> <url value="Patient?identifier=http:/example.org/fhir/ids|456456"/> </request> </entry><!-- a different kind of conditional update: version dependent --> <entry> <fullUrl value="http://example.org/fhir/Patient/123a"/> <resource> <Patient> <id value="123a"/> <text><status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> </text> <active value="true"/> <name> <use value="official"/> <family value="Chalmers"/> <given value="Peter"/> <given value="James"/> </name> <gender value="male"/> <birthDate value="1974-12-25"/> </Patient> </resource> <request> <method value="PUT"/> <url value="Patient/123a"/><!-- this will only succeed if the source version is correct: --> <ifMatch value="W/"2""/> </request> </entry> <entry> <!-- a simple delete operation --> <!-- no resource in this case --> <!-- transaction details --> <request> <!-- DELETE to [base]/Patient/[id]- that's a delete operation --> <method value="DELETE"/> <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient/234 becomes just 'Patient/234': --> <!-- btw, couldn't re-use Patient/123 for the delete, since the transaction couldn't do two different operations on the same resource --> <url value="Patient/234"/> </request> </entry> <entry> <!-- a conditional delete operation --> <!-- no resource in this case --> <!-- transaction details --> <request> <!-- DELETE to [base]/Patient?params- that's a conditional delete operation --> <method value="DELETE"/> <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient?params becomes just 'Patient?params': --> <url value="Patient?identifier=123456"/> </request> </entry> <entry> <fullUrl value="urn:uuid:79378cb8-8f58-48e8-a5e8-60ac2755b674"/><!-- can do more than just create/update/delete.<!-- can do more than just create/update/delete. This is how to invoke an operation with a set of parameters --> <resource> <Parameters> <parameter> <name value="coding"/> <valueCoding> <system value="http://loinc.org"/> <code value="1963-8"/> </valueCoding> </parameter> </Parameters> </resource> <request> <!-- POST to [base]/ValueSet/$lookup - invoking a lookup operation (see Terminology Service) --> <method value="POST"/> <url value="http://hl7.org/fhir/ValueSet/$lookup"/> </request> </entry> <entry> <!-- can also do read-only operations. Note that these do not 'fail' - see discussion on transaction atomicity for further information --> <request> <!-- GET from [base]/Patient?params - searching for a patient --> <method value="GET"/> <url value="Patient?name=peter"/> </request> </entry> <entry> <!-- and an example conditional read: --> <request> <method value="GET"/> <url value="Patient/12334"/><!-- in practice, you'd only specify one of these --> <ifNoneMatch value="W/"4""/> <ifModifiedSince value="2015-08-31T08:14:33+10:00"/> </request> </entry> </ Bundle >
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.
FHIR
®©
HL7.org
2011+.
FHIR
R5
hl7.fhir.core#5.0.0
R6
hl7.fhir.core#6.0.0-ballot2
generated
on
Sun,
Mar
26,
2023
15:24+1100.
Mon,
Aug
12,
2024
16:57+0800.
Links:
Search
|
Version
History
|
Contents
|
Glossary
|
QA
|
Compare
to
R4
|
Compare
to
R4B
R5
|
|
Propose
a
change