This page is part of the FHIR Specification (v4.3.0: R4B - STU). 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
Structured Documents Work Group | Maturity Level: N/A | Standards Status: Informative |
Raw XML (canonical form + also see XML Format Specification)
Operation Definition
<?xml version="1.0" encoding="UTF-8"?> <OperationDefinition xmlns="http://hl7.org/fhir"> <id value="Composition-document"/> <text> <status value="extensions"/> <div xmlns="http://www.w3.org/1999/xhtml"> <h2> Document</h2> <p> OPERATION: Document</p> <p> The official URL for this operation definition is: </p> <pre> http://hl7.org/fhir/OperationDefinition/Composition-document</pre> <div> <p> A client can ask a server to generate a fully bundled document from a composition resource. The server takes the composition resource, locates all the referenced resources and other additional resources as configured or requested and either returns a full document bundle, or returns an error. Note that since this is a search operation, the document bundle is wrapped inside the search bundle. If some of the resources are located on other servers, it is at the discretion of the server whether to retrieve them or return an error. If the correct version of the document that would be generated already exists, then the server can return the existing one.</p> </div> <p> URL: [base]/Composition/$document</p> <p> URL: [base]/Composition/[id]/$document</p> <p> Parameters</p> <table class="grid"> <tr> <td> <b> Use</b> </td> <td> <b> Name</b> </td> <td> <b> Cardinality</b> </td> <td> <b> Type</b> </td> <td> <b> Binding</b> </td> <td> <b> Documentation</b> </td> </tr> <tr> <td> IN</td> <td> id</td> <td> 0..1</td> <td> <a href="datatypes.html#uri">uri</a> </td> <td/> <td> <div> <p> Identifies the composition to use. This can either be a simple id, which identifies a composition, or it can be a full URL, which identifies a composition on another server.</p> <p> Notes:</p> <ul> <li> GET [base]/Composition/[id]/$document is identical in meaning to GET [base]/Composition/$document?id =[id]</li> <li> the id parameter SHALL NOT be used if the operation is requested on a particular composition (e.g. GET [base]/Composition/[id]/$document?id=[id] is not allowed)</li> <li> Servers are not required to support generating documents on Compositions located on another server</li> </ul> </div> </td> </tr> <tr> <td> IN</td> <td> persist</td> <td> 0..1</td> <td> <a href="datatypes.html#boolean">boolean</a> </td> <td/> <td> <div> <p> Whether to store the document at the bundle end-point (/Bundle) or not once it is generated. Value = true or false (default is for the server to decide). If the document is stored, it's location can be inferred from the Bundle.id, but it SHOULD be provided explicitly in the HTTP Location header in the response</p> </div> </td> </tr> <tr> <td> IN</td> <td> graph</td> <td> 0..1</td> <td> <a href="datatypes.html#uri">uri</a> </td> <td/> <td> <div> <p> Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a <a href="graphdefinition.html">GraphDefinition</a> that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources </p> </div> </td> </tr> </table> <div> <p> Note: this operation definition does not resolve the question how document signatures are created. This is an open issue during the period of trial use, and feedback is requested regarding this question</p> </div> </div> </text> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm"> <valueInteger value="2"/> </extension> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"> <valueCode value="trial-use"/> </extension> <url value="http://hl7.org/fhir/OperationDefinition/Composition-document"/> <version value="4.3.0"/> <name value="Document"/> <title value="Generate a Document"/> <status value="draft"/> <kind value="operation"/> <experimental value="false"/> <date value="2022-05-28T12:47:40+10:00"/> <publisher value="HL7 (FHIR Project)"/> <contact> <telecom> <system value="url"/> <value value="http://hl7.org/fhir"/> </telecom> <telecom> <system value="email"/> <value value="fhir@lists.hl7.org"/> </telecom> </contact> <description value="A client can ask a server to generate a fully bundled document from a composition resource. The server takes the composition resource, locates all the referenced resources and other additional resources as configured or requested and either returns a full document bundle, or returns an error. Note that since this is a search operation, the document bundle is wrapped inside the search bundle. If some of the resources are located on other servers, it is at the discretion of the server whether to retrieve them or return an error. If the correct version of the document that would be generated already exists, then the server can return the existing one."/> <affectsState value="false"/> <code value="document"/> <comment value="Note: this operation definition does not resolve the question how document signatures are created. This is an open issue during the period of trial use, and feedback is requested regarding this question"/> <resource value="Composition"/> <system value="false"/> <type value="true"/> <instance value="true"/> <parameter> <name value="id"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="Identifies the composition to use. This can either be a simple id, which identifies a composition, or it can be a full URL, which identifies a composition on another server. Notes: * GET [base]/Composition/[id]/$document is identical in meaning to GET [base]/Composition/$document? id=[id] * the id parameter SHALL NOT be used if the operation is requested on a particular composition (e.g. GET [base]/Composition/[id]/$document?id=[id] is not allowed) * Servers are not required to support generating documents on Compositions located on another server"/> <type value="uri"/> </parameter> <parameter> <name value="persist"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="Whether to store the document at the bundle end-point (/Bundle) or not once it is generated. Value = true or false (default is for the server to decide). If the document is stored, it's location can be inferred from the Bundle.id, but it SHOULD be provided explicitly in the HTTP Location header in the response"/> <type value="boolean"/> </parameter> <parameter> <name value="graph"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [GraphDefinition](graphdefinition.html) that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources"/> <type value="uri"/> </parameter> </OperationDefinition>
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.