Release 4 5

This page is part of the FHIR Specification (v4.0.1: R4 (v5.0.0: R5 - Mixed Normative and STU ) ). This is the current published version in it's permanent home (it will always be available at this URL). 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-structuredefinition-questionnaire.xml

Example OperationDefinition/StructureDefinition-questionnaire (XML)

FHIR Infrastructure Work Group Maturity Level : N/A Standards Status : Informative Compartments : Not linked to any defined compartments

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

Jump past Narrative

Operation Definition

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


  
  
    
    
      
      
      
      
      
        Generates a 
           instance  based on a specified 
          , creating questions for each core element or extension element found in the 
          .
        

        If the operation is not called at the instance level, one of the 
          , 
           or 
           'in' parameters must be provided. If more than one is specified, servers may raise an
           error or may resolve with the parameter of their choice. If called at the instance level,
           these parameters will be ignored. The response will contain a 
           instance based on the specified 
           and/or an 
           resource with errors or warnings.  Nested groups are used to handle complex structures
           and data types.  If the 'supportedOnly' parameter is set to true, only those elements
           marked as &quot;must support&quot; will be included.
        

        This operation is intended to enable auto-generation of simple interfaces for arbitrary
           profiles.  The 'questionnaire' approach to data entry has limitations that will make it
           less optimal than custom-defined interfaces.  However, this function may be useful for
           simple applications or for systems that wish to support &quot;non-core&quot; resources
           with minimal development effort.

      
      
      
      
      
        
          
            
          
          
            
          
          
            
          
          
            
          
          
            
          
          
            
          
        
        
          
          
          
          
            
          
          
          
            
              A logical identifier (i.e. 'StructureDefinition.identifier''). The server must know the
                 StructureDefinition or be able to retrieve it from other known repositories.

            
          
        
        
          
          
          
          
            
            (
            )
          
          
          
            
              The 
                 is provided directly as part of the request. Servers may choose not to accept profiles
                 in this fashion
              

            
          
        
        
          
          
          
          
            
          
          
          
            
              The StructureDefinition's official URL (i.e. 'StructureDefinition.url'). The server must
                 know the StructureDefinition or be able to retrieve it from other known repositories.

            
          
        
        
          
          
          
          
            
          
          
          
            
              If true, the questionnaire will only include those elements marked as &quot;mustSupport='true'&quot;
                 in the StructureDefinition.

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
      
      
        
          : Ideally, extensions should be populated in the generated 
           that will support taking 

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="StructureDefinition-questionnaire"/> 
  <text> 
    <status value="extensions"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> URL: [base]/StructureDefinition/$questionnaire</p> 
      <p> URL: [base]/StructureDefinition/[id]/$questionnaire</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> identifier</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#Identifier">Identifier</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> A logical identifier (i.e. 'StructureDefinition.identifier''). The server must
                 know the StructureDefinition or be able to retrieve it from other known repositories.</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> profile</td>           <td/>            <td> 0..1</td>           <td>             <a href="structuredefinition.html">StructureDefinition</a>           </td>           <td/>            <td>             <div>               <p> The                 <a href="structuredefinition.html">StructureDefinition</a>  is provided directly as part of the request. Servers may choose not to accept

                 profiles in this fashion
              </p>             </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> url</td>           <td> type</td>           <td> 0..1</td>           <td>             <a href="datatypes.html#canonical">canonical</a>           </td>           <td/>            <td>             <div>               <p> The StructureDefinition's official URL (i.e. 'StructureDefinition.url'). The server

                 must know the StructureDefinition or be able to retrieve it from other known repositories.</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> supportedOnly</td>           <td/>            <td> 0..1</td>           <td>             <a href="datatypes.html#boolean">boolean</a>           </td>           <td/>            <td>             <div>               <p> If true, the questionnaire will only include those elements marked as &quot;mustSupport='true

                '&quot; in the StructureDefinition.</p> 
            </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> return</td>           <td/>            <td> 1..1</td>           <td>             <a href="questionnaire.html">Questionnaire</a>           </td>           <td/>            <td>             <div>               <p> The questionnaire form generated based on the StructureDefinition.</p>             </div>           </td>         </tr>       </table>       <div>         <p>           <strong> Open Issue</strong> : Ideally, extensions should be populated in the generated           <a href="questionnaire.html">Questionnaire</a>  that will support taking 
          <a href="questionnaireresponse.html">QuestionnaireResponse</a>  resources generated from the Questionnaire and turning them back into the appropriate
           resources.
        

      
    
  
  
    
  
  
    
  
  
  
  
  
  
  
  
  
    
      
      
    
    
      
      
    
  
  Generates a [Questionnaire](questionnaire.html) instance  based on a specified [StructureDefinition]
  (structuredefinition.html), creating questions for each core element or extension element
   found in the [StructureDefinition](structuredefinition.html).    

If the operation is not called at the instance level, one of the *identifier*, *profile*
   or *url* 'in' parameters must be provided. If more than one is specified, servers may
   raise an error or may resolve with the parameter of their choice. If called at the instance
   level, these parameters will be ignored. The response will contain a [Questionnaire](questionnaire.h
  tml) instance based on the specified [StructureDefinition](structuredefinition.html) and/or
   an [OperationOutcome](operationoutcome.html) resource with errors or warnings.  Nested
   groups are used to handle complex structures and data types.  If the 'supportedOnly' parameter
   is set to true, only those elements marked as &quot;must support&quot; will be included.
    


           resources.
        </p>       </div>     </div>   </text>   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">    <valueInteger value="5"/>   </extension>   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">    <valueCode value="trial-use"/>   </extension>   <url value="http://hl7.org/fhir/OperationDefinition/StructureDefinition-questionnaire"/>   <version value="5.0.0"/>   <name value="Questionnaire"/>   <title value="Build Questionnaire"/>   <status value="draft"/>   <kind value="operation"/>   <experimental value="false"/>   <date value="2023-03-26T15:21:02+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="Generates a [Questionnaire](questionnaire.html) instance  based on a specified

   [StructureDefinition](structuredefinition.html), creating questions for each core
   element or extension element found in the [StructureDefinition](structuredefinition.html).
      
If the operation is not called at the instance level, one of the *identifier*,
   *profile* or *url* 'in' parameters must be provided. If more than one is specified,
   servers may raise an error or may resolve with the parameter of their choice. If
   called at the instance level, these parameters will be ignored. The response will
   contain a [Questionnaire](questionnaire.html) instance based on the specified [StructureDefin
  ition](structuredefinition.html) and/or an [OperationOutcome](operationoutcome.html)
   resource with errors or warnings.  Nested groups are used to handle complex structures
   and data types.  If the 'supportedOnly' parameter is set to true, only those elements
   marked as &quot;must support&quot; will be included.  

This operation is intended to enable auto-generation of simple interfaces for arbitrary
   profiles.  The 'questionnaire' approach to data entry has limitations that will make it
   less optimal than custom-defined interfaces.  However, this function may be useful for
   simple applications or for systems that wish to support &quot;non-core&quot; resources
   with minimal development effort.
  
  **Open Issue**: Ideally, extensions should be populated in the generated [Questionnaire](questionnai
  re.html) that will support taking [QuestionnaireResponse](questionnaireresponse.html) resources
   generated from the Questionnaire and turning them back into the appropriate resources.
  
  
  
  
  
    
    
    
    
    A logical identifier (i.e. 'StructureDefinition.identifier''). The server must know the
     StructureDefinition or be able to retrieve it from other known repositories.
    
    
  
  
    
    
    
    
    The [StructureDefinition](structuredefinition.html) is provided directly as part of the
     request. Servers may choose not to accept profiles in this fashion
    
    
  
  
    
    
    
    
    The StructureDefinition's official URL (i.e. 'StructureDefinition.url'). The server must
     know the StructureDefinition or be able to retrieve it from other known repositories.
    
    
  
  
    
    
    
    
    If true, the questionnaire will only include those elements marked as &quot;mustSupport='true'&quot;
     in the StructureDefinition.
    
  
  
    
    
    
    
    
    
  

   profiles.  The 'questionnaire' approach to data entry has limitations that will
   make it less optimal than custom-defined interfaces.  However, this function may
   be useful for simple applications or for systems that wish to support &quot;non-core&quot;
   resources with minimal development effort."/> 
  <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="questionnaire"/>   <comment value="**Open Issue**: Ideally, extensions should be populated in the generated [Questionnaire](ques

  tionnaire.html) that will support taking [QuestionnaireResponse](questionnaireresponse.html)
   resources generated from the Questionnaire and turning them back into the appropriate
   resources."/> 
  <resource value="StructureDefinition"/>   <system value="false"/>   <type value="true"/>   <instance value="true"/>   <parameter>     <name value="identifier"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="A logical identifier (i.e. 'StructureDefinition.identifier''). The server must

     know the StructureDefinition or be able to retrieve it from other known repositories."/> 
    <type value="Identifier"/>   </parameter>   <parameter>     <name value="profile"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="The [StructureDefinition](structuredefinition.html) is provided directly as part

     of the request. Servers may choose not to accept profiles in this fashion"/> 
    <type value="StructureDefinition"/>   </parameter>   <parameter>     <name value="url"/>     <use value="in"/>     <scope value="type"/>     <min value="0"/>     <max value="1"/>     <documentation value="The StructureDefinition's official URL (i.e. 'StructureDefinition.url'). The server

     must know the StructureDefinition or be able to retrieve it from other known repositories."/> 
    <type value="canonical"/>     <targetProfile value="http://hl7.org/fhir/StructureDefinition/StructureDefinition"/>   </parameter>   <parameter>     <name value="supportedOnly"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="If true, the questionnaire will only include those elements marked as &quot;mustSupport='true

    '&quot; in the StructureDefinition."/> 
    <type value="boolean"/>   </parameter>   <parameter>     <name value="return"/>     <use value="out"/>     <min value="1"/>     <max value="1"/>     <documentation value="The questionnaire form generated based on the StructureDefinition."/>     <type value="Questionnaire"/>   </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.