US Core Implementation Guide
6.0.0-ballot - STU6 Ballot US

This page is part of the US Core (v6.0.0-ballot: STU6 Ballot 1) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

: US Core Fetch DocumentReference - XML Representation

Active as of 2022-11-18

Raw xml | Download



<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="docref"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p>URL: [base]/DocumentReference/$docref</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>patient</td><td>1..1</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#id">id</a></td><td/><td><div><p>The id of the patient resource. If there is no match, an empty Bundle is returned.</p>
</div></td></tr><tr><td>IN</td><td>start</td><td>0..1</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#dateTime">dateTime</a></td><td/><td><div><p>The date range relates to care dates, not record currency dates - e.g., all records relating to care provided in a specific date range. If no start date is provided, all documents before the end date are in scope. The most recent or current document is in scope if neither a start date nor an end date is provided. The client <strong>SHOULD</strong> provide values precise to the second + time offset.</p>
</div></td></tr><tr><td>IN</td><td>end</td><td>0..1</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#dateTime">dateTime</a></td><td/><td><div><p>The date range relates to care dates, not record currency dates - e.g., all records relating to care provided in a specific date range. If no end date is provided, all documents after the start date are in scope. The most recent or current document is in scope if neither a start date nor an end date is provided. The client <strong>SHOULD</strong> provide values precise to the second + time offset.</p>
</div></td></tr><tr><td>IN</td><td>type</td><td>0..*</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#Coding">Coding</a></td><td><a href="http://hl7.org/fhir/R4/valueset-c80-doc-typecodes.html">http://hl7.org/fhir/ValueSet/c80-doc-typecodes</a> (Required)</td><td><div><p>The type relates to document type e.g., for the LOINC code for a C-CDA Clinical Summary of Care (CCD) is 34133-9 (Summary of episode note). If no type is provided, the CCD document, if available, SHALL be in scope, and all other document types MAY be in scope. It is at the server's discretion how to respond if multiple types are provided. The server MAY return documents to any of the specified types. The server's CapabilityStatement should document its behavior and what types it supports.</p>
</div></td></tr><tr><td>IN</td><td>on-demand</td><td>0..1</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#boolean">boolean</a></td><td/><td><div><p>This on-demand parameter allows the client to dictate whether they are requesting only 'on-demand' or both 'on-demand' and 'stable' documents (or delayed/deferred assembly) that meet the query parameters</p>
</div></td></tr><tr><td>IN</td><td>profile</td><td>0..*</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#canonical">canonical</a></td><td/><td><div><p>This parameter allows the client to request documents according to a specific profile using the profile's canonical reference. It is at the server's discretion how to respond if multiple profiles are provided. The server MAY return documents to any of the specified profiles. The server's CapabilityStatement should document its behavior and what profiles it supports.</p>
</div></td></tr><tr><td>OUT</td><td>return</td><td>1..1</td><td><a href="http://hl7.org/fhir/R4/bundle.html">Bundle</a></td><td/><td><div><p>The bundle type is 'searchset' containing <a href="http://hl7.org/fhir/documentreference.html">DocumentReference</a> resources which <strong>SHOULD</strong> conform to the <a href="http://hl7.org/fhir/us/core/StructureDefinition/us-core-documentreference">US Core DocumentReference Profiles</a></p>
</div></td></tr></table><div><ul>
<li>
<p>It is assumed that the server has identified and secured the context appropriately and can either associate the authorization context with a single patient or determine whether the context has the rights to the nominated patient if there is one. If there is no nominated patient (e.g., the operation is invoked at the system level) and the context is not associated with a single patient record, then the server should return an error. Specifying the relationship between the context, a user, and patient records is outside the scope of this specification.</p>
</li>
<li>
<p>A server may generate an on-demand document upon returning its DocumentReference during the $docref response or once the client accesses it. This specification places no requirements upon when a server generates an on-demand document and encourages server developers to balance the performance cost of creating unread documents against the response time to retrieve new documents.</p>
</li>
<li>
<p>See the US Core DocumentReference Profile <a href="StructureDefinition-us-core-documentreference.html#quick-start">Quick Start Section</a> for example interactions</p>
</li>
</ul>
</div></div>
  </text>
  <url value="http://hl7.org/fhir/us/core/OperationDefinition/docref"/>
  <version value="6.0.0-ballot"/>
  <name value="USCoreFetchDocumentReference"/>
  <title value="US Core Fetch DocumentReference"/>
  <status value="active"/>
  <kind value="operation"/>
  <date value="2022-11-18"/>
  <publisher value="HL7 International - Cross-Group Projects"/>
  <contact>
    <name value="HL7 International - Cross-Group Projects"/>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/cgp"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="cgp@lists.HL7.org"/>
    </telecom>
  </contact>
  <description
               value="This operation is used to return all the references to documents related to a
patient. It is invoked on a FHIR Server's DocumentReference endpoint (e.g., `[base]/DocumentReference/$docref`) and operates across all DocumentReference instances.

The operation requires a patient id and takes the optional input parameters:
- start date
- end date
- document type
- on-demand
- profile

and returns a *searchset* [Bundle](http://hl7.org/fhir/bundle.html) containing [DocumentReference](http://hl7.org/fhir/documentreference.html) resources for the patient. If the server has stored documents or can create documents for the patient and those documents are available for the user, the server returns the DocumentReference resources associated with documents. This operation's intended use is to provide a way for providers or patients to access their available documents. The document itself can be subsequently retrieved using the link provided  in the `DocumentReference.content.attachment.url element`. The link could be a FHIR endpoint to a [Binary](http://hl7.org/fhir/R4/binary.html) Resource or some other document repository.

This operation is *different* from a FHIR RESTful query on DocumentReference by patient and type and date range because: 

1. It is used to request a server to *generate* a document based on the specified parameters.

1. If no parameters are specified, the server SHALL return a DocumentReference to the patient's current C-CDA CCD.

1. If the server cannot *generate* a document based on the specified parameters, the operation will return an empty search bundle.

Unless the client indicates they are only interested in 'on-demand' documents using the *on-demand* parameter, the server SHOULD return DocumentReference instances for *existing* documents that meet the request parameters  In this regard, this operation is *similar* to a FHIR RESTful query."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
    </coding>
  </jurisdiction>
  <code value="docref"/>
  <comment
           value=" - It is assumed that the server has identified and secured the context appropriately and can either associate the authorization context with a single patient or determine whether the context has the rights to the nominated patient if there is one. If there is no nominated patient (e.g., the operation is invoked at the system level) and the context is not associated with a single patient record, then the server should return an error. Specifying the relationship between the context, a user, and patient records is outside the scope of this specification. 

 - A server may generate an on-demand document upon returning its DocumentReference during the $docref response or once the client accesses it. This specification places no requirements upon when a server generates an on-demand document and encourages server developers to balance the performance cost of creating unread documents against the response time to retrieve new documents.

 - See the US Core DocumentReference Profile [Quick Start Section](StructureDefinition-us-core-documentreference.html#quick-start) for example interactions"/>
  <resource value="DocumentReference"/>
  <system value="false"/>
  <type value="true"/>
  <instance value="false"/>
  <parameter>
    <name value="patient"/>
    <use value="in"/>
    <min value="1"/>
    <max value="1"/>
    <documentation
                   value="The id of the patient resource. If there is no match, an empty Bundle is returned."/>
    <type value="id"/>
  </parameter>
  <parameter>
    <name value="start"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation
                   value="The date range relates to care dates, not record currency dates - e.g., all records relating to care provided in a specific date range. If no start date is provided, all documents before the end date are in scope. The most recent or current document is in scope if neither a start date nor an end date is provided. The client **SHOULD** provide values precise to the second + time offset."/>
    <type value="dateTime"/>
  </parameter>
  <parameter>
    <name value="end"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation
                   value="The date range relates to care dates, not record currency dates - e.g., all records relating to care provided in a specific date range. If no end date is provided, all documents after the start date are in scope. The most recent or current document is in scope if neither a start date nor an end date is provided. The client **SHOULD** provide values precise to the second + time offset."/>
    <type value="dateTime"/>
  </parameter>
  <parameter>
    <name value="type"/>
    <use value="in"/>
    <min value="0"/>
    <max value="*"/>
    <documentation
                   value="The type relates to document type e.g., for the LOINC code for a C-CDA Clinical Summary of Care (CCD) is 34133-9 (Summary of episode note). If no type is provided, the CCD document, if available, SHALL be in scope, and all other document types MAY be in scope. It is at the server's discretion how to respond if multiple types are provided. The server MAY return documents to any of the specified types. The server's CapabilityStatement should document its behavior and what types it supports."/>
    <type value="Coding"/>
    <binding>
      <strength value="required"/>
      <valueSet value="http://hl7.org/fhir/ValueSet/c80-doc-typecodes"/>
    </binding>
  </parameter>
  <parameter>
    <name value="on-demand"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation
                   value="This on-demand parameter allows the client to dictate whether they are requesting only 'on-demand' or both 'on-demand' and 'stable' documents (or delayed/deferred assembly) that meet the query parameters"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="profile"/>
    <use value="in"/>
    <min value="0"/>
    <max value="*"/>
    <documentation
                   value="This parameter allows the client to request documents according to a specific profile using the profile's canonical reference. It is at the server's discretion how to respond if multiple profiles are provided. The server MAY return documents to any of the specified profiles. The server's CapabilityStatement should document its behavior and what profiles it supports."/>
    <type value="canonical"/>
  </parameter>
  <parameter>
    <name value="return"/>
    <use value="out"/>
    <min value="1"/>
    <max value="1"/>
    <documentation
                   value="The bundle type is 'searchset' containing [DocumentReference](http://hl7.org/fhir/documentreference.html) resources which **SHOULD** conform to the [US Core DocumentReference Profiles](http://hl7.org/fhir/us/core/StructureDefinition/us-core-documentreference)"/>
    <type value="Bundle"/>
  </parameter>
</OperationDefinition>