Snapshot 3: Connectathon 32 Base

This is Snapshot #3 for FHIR R5, released to support Connectathon 32. For a full list of available versions, see the Directory of published versions.

Example OperationDefinition/Composition-document (XML)

Structured Documents Work GroupMaturity Level: N/AStandards 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">
      <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/$docu
                  ment?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> Notes:</p> 

        <ul> 

          <li> The server implementing the operation SHOULD determine a 'high-level water-mark'
             for the document security tags (
            <a href="resource.html#Meta">Bundle.meta.security</a> )) as a whole, based on an analysis of the resources contained within the document
          </li> 

          <li> 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</li> 

        </ul> 

      </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="5.0.0-snapshot3"/> 
  <name value="Document"/> 
  <title value="Generate a Document"/> 
  <status value="draft"/> 
  <kind value="operation"/> 
  <experimental value="false"/> 
  <date value="2022-12-14T07:12:54+11: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."/> 
  <jurisdiction> 
    <coding> 
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/> 
      <code value="001"/> 
      <display value="World"/> 
    </coding> 
  </jurisdiction> 
  <affectsState value="false"/> 
  <code value="document"/> 
  <comment value="Notes:

* The server implementing the operation SHOULD determine a 'high-level water-mark'
   for the document security tags ([Bundle.meta.security](resource.html#Meta))) as
   a whole, based on an analysis of the resources contained within the document
* 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/$do
    cument?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.