This page is part of the FHIR Specification (v0.0.82: DSTU 1). 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

Operation-valueset-expand.xml

Raw XML (canonical form)

Operation Definition

Raw XML

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="ValueSet-expand"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><!-- Snipped for brevity --></div>
  </text>
  <url value="http://hl7.org/fhir/OperationDefinition/ValueSet-expand"/>
  <name value="Value Set Expansion"/>
  <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="The definition of a value set is used to create a simple collection of codes suitable
   for use for data entry or validation.   If the operation is not called at the instance
   level, one of the in parameters identifier or valueset must be provided.  An expanded
   value set will be returned, or an OperationOutcome with an error message"/>
  <status value="draft"/>
  <date value="2015-03-27T00:13:00+11:00"/>
  <kind value="operation"/>
  <code value="expand"/>
  <notes value="The value set expansion returned by this query should be treated as a transient result
   that will change over time (whether it does or not depends on how the value set is specified),
   so applications should repeat the operation each time the value set is used.   Different
   servers may return different results from expanding a value set for the following reasons:
    * The underlying code systems are different (e.g. different versions, possibly with different
   defined behaviour) * The server optimises filter includes differently, such as sorting
   by code frequency * Servers introduce arbitrary groups to assist a user to navigate the
   lists based either on extensions in the definition, or additional knowledge available
   to the server"/>
  <system value="false"/>
  <type value="ValueSet"/>
  <instance value="true"/>
  <parameter>
    <name value="identifier"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="A logical value set identifier (i.e. ValueSet.identifier). The server must know the value
     set (e.g. it is defined explicitly in the server's valuesets, or it is defined implicitly
     by some code system known to the server"/>
    <type value="uri"/>
  </parameter>
  <parameter>
    <name value="valueSet"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="The value set is provided directly as part of the request. Servers may choose not to accept
     value sets in this fashion"/>
    <type value="ValueSet"/>
  </parameter>
  <parameter>
    <name value="filter"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="A text filter that is applied to restrict the codes that are returned (this is useful
     in a UI context)"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="profile"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="A reference to an external definition that provides additional control information about
     how the expansion is performed.  At this time, there is no agreed format or funtionality
     for the target of this URI. The [VSAC Documentation](http://www.nlm.nih.gov/vsac/support/authorguide
    lines/updatingvaluesets.html) provides one example of the use of this parameter.  Implementers
     using this element will need to agree on an appropriate mechanism for use within their
     interoperability community"/>
    <type value="uri"/>
  </parameter>
  <parameter>
    <name value="date"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="The date for which the expansion should be generated. Normally, this is the current conditions
     (which is the default value) but under some circumstances, systems need to generate an
     expansion as it would have been in the past. A typical example of this would be where
     code selection is constrained to the set of codes that were available when the patient
     was treated, not when the record is being edited. Note that which date is appropriate
     is a matter for implementation policy."/>
    <type value="dateTime"/>
  </parameter>
  <parameter>
    <name value="return"/>
    <use value="out"/>
    <min value="1"/>
    <max value="1"/>
    <documentation value="The result of the expansion"/>
    <type value="ValueSet"/>
  </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.