Release 4

Operation-composition-document.xml

Structured Documents Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Device, Encounter, Patient, Practitioner, RelatedPerson

Raw XML (canonical form + also see XML Format Specification)

Jump past Narrative

Operation Definition

<?xml version="1.0" encoding="UTF-8"?>

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="Composition-document"/> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <h2> Generate a Document</h2> 
      <p> OPERATION: Generate a 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.0.1"/> 
  <name value="Generate a Document"/> 
  <status value="draft"/> 
  <kind value="operation"/> 
  <date value="2021-01-21T15:34:20+00: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."/> 
  <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.