R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

Example OperationDefinition/Resource-convert (XML)

FHIR Infrastructure 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="Resource-convert"/> 
  <text> 
    <status value="extensions"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> URL: [base]/$convert</p> 
      <p> Parameters</p> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Use</b> 
          </td> 
          <td> 
            <b> Name</b> 
          </td> 
          <td> 
            <b> Scope</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> resource</td> 
          <td/>  
          <td> 1..1</td> 
          <td> 
            <a href="resource.html">Resource</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The resource that is to be converted</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> return</td> 
          <td/>  
          <td> 1..1</td> 
          <td> 
            <a href="resource.html">Resource</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The resource after conversion</p> 

            </div> 
          </td> 
        </tr> 
      </table> 
      <div> 
        <p> While the primary use of this operation is simple - converting a resource from
           one format to another, there are many potential uses including:</p> 

        <ul> 

          <li> converting resources from one version to another</li> 

          <li> restructuring information in a resource (e.g. moving method into/out of Observation.code)</li> 

          <li> extracting data from a questionnaire</li> 

          <li> converting CDA documents or v2 messages (as a binary resource) to a bundle (or
             vice versa) (or even openEHR or openMHealth).</li> 

        </ul> 

        <p> These variants would all be associated with parameters that define and control
           these kind of conversions, though such parameters are not defined at this time.
           In the absence of any parameters, simple format conversion is all that will occur.</p> 

        <p> For this reason, implementers should be aware that:</p> 

        <ul> 

          <li> the 
            <code> return</code>  resource type may be different from the 
            <code> resource</code>  parameter resource type (for example, it might be a bundle)
          </li> 

          <li> binary resources may be represented directly using some other content-type (in
             other words, just post the content directly)</li> 

        </ul> 

        <p> Implementers are encouraged to provide feedback to HL7 about their use of this
           operation</p> 

      </div> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="draft"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/> 
  </extension> 
  <url value="http://hl7.org/fhir/OperationDefinition/Resource-convert"/> 
  <version value="6.0.0-ballot1"/> 
  <name value="Convert"/> 
  <title value="Convert from one form to another"/> 
  <status value="draft"/> 
  <kind value="operation"/> 
  <experimental value="false"/> 
  <date value="2023-12-18T15:12:07+11:00"/> 
  <publisher value="HL7 International / FHIR Infrastructure"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
    <telecom> 
      <system value="email"/> 
      <value value="fhir@lists.hl7.org"/> 
    </telecom> 
  </contact> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://www.hl7.org/Special/committees/fiwg"/> 
    </telecom> 
  </contact> 
  <description value="This operation takes a resource in one form, and returns to in another form. Both
   the `resource` and `return` parameters are a single resource. The primary use of
   this operation is to convert between formats (e.g. (XML -&gt; JSON or vice versa)"/> 
  <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="convert"/> 
  <comment value="While the primary use of this operation is simple - converting a resource from
   one format to another, there are many potential uses including:

* converting resources from one version to another
* restructuring information in a resource (e.g. moving method into/out of Observation.code)
* extracting data from a questionnaire
* converting CDA documents or v2 messages (as a binary resource) to a bundle (or
   vice versa) (or even openEHR or openMHealth). 

These variants would all be associated with parameters that define and control
   these kind of conversions, though such parameters are not defined at this time.
   In the absence of any parameters, simple format conversion is all that will occur.

For this reason, implementers should be aware that:

* the `return` resource type may be different from the `resource` parameter resource
   type (for example, it might be a bundle)
* binary resources may be represented directly using some other content-type (in
   other words, just post the content directly)

Implementers are encouraged to provide feedback to HL7 about their use of this
   operation"/> 
  <resource value="Resource"/> 
  <system value="true"/> 
  <type value="false"/> 
  <instance value="false"/> 
  <parameter> 
    <name value="resource"/> 
    <use value="in"/> 
    <min value="1"/> 
    <max value="1"/> 
    <documentation value="The resource that is to be converted"/> 
    <type value="Resource"/> 
  </parameter> 
  <parameter> 
    <name value="return"/> 
    <use value="out"/> 
    <min value="1"/> 
    <max value="1"/> 
    <documentation value="The resource after conversion"/> 
    <type value="Resource"/> 
  </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.