{
  "resourceType": "OperationDefinition",
  "id": "StructureDefinition-questionnaire",
  "text": {
    "status": "extensions",
    "div": "\u003cdiv xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\u003cp\u003eURL: [base]/StructureDefinition/$questionnaire\u003c/p\u003e\u003cp\u003eURL: [base]/StructureDefinition/[id]/$questionnaire\u003c/p\u003e\u003cp\u003eParameters\u003c/p\u003e\u003ctable class\u003d\"grid\"\u003e\u003ctr\u003e\u003ctd\u003e\u003cb\u003eUse\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eName\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eScope\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eCardinality\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eType\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eBinding\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eDocumentation\u003c/b\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eIN\u003c/td\u003e\u003ctd\u003eidentifier\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e0..1\u003c/td\u003e\u003ctd\u003e\u003ca href\u003d\"datatypes.html#Identifier\"\u003eIdentifier\u003c/a\u003e\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e\u003cdiv\u003e\u003cp\u003eA logical identifier (i.e. \u0027StructureDefinition.identifier\u0027\u0027). The server must know the StructureDefinition or be able to retrieve it from other known repositories.\u003c/p\u003e\n\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eIN\u003c/td\u003e\u003ctd\u003eprofile\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e0..1\u003c/td\u003e\u003ctd\u003e\u003ca href\u003d\"structuredefinition.html\"\u003eStructureDefinition\u003c/a\u003e\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e\u003cdiv\u003e\u003cp\u003eThe \u003ca href\u003d\"structuredefinition.html\"\u003eStructureDefinition\u003c/a\u003e is provided directly as part of the request. Servers may choose not to accept profiles in this fashion\u003c/p\u003e\n\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eIN\u003c/td\u003e\u003ctd\u003eurl\u003c/td\u003e\u003ctd\u003etype\u003c/td\u003e\u003ctd\u003e0..1\u003c/td\u003e\u003ctd\u003e\u003ca href\u003d\"datatypes.html#canonical\"\u003ecanonical\u003c/a\u003e\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e\u003cdiv\u003e\u003cp\u003eThe StructureDefinition\u0027s official URL (i.e. \u0027StructureDefinition.url\u0027). The server must know the StructureDefinition or be able to retrieve it from other known repositories.\u003c/p\u003e\n\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eIN\u003c/td\u003e\u003ctd\u003esupportedOnly\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e0..1\u003c/td\u003e\u003ctd\u003e\u003ca href\u003d\"datatypes.html#boolean\"\u003eboolean\u003c/a\u003e\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e\u003cdiv\u003e\u003cp\u003eIf true, the questionnaire will only include those elements marked as \u0026quot;mustSupport\u003d\u0027true\u0027\u0026quot; in the StructureDefinition.\u003c/p\u003e\n\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eOUT\u003c/td\u003e\u003ctd\u003ereturn\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e1..1\u003c/td\u003e\u003ctd\u003e\u003ca href\u003d\"questionnaire.html\"\u003eQuestionnaire\u003c/a\u003e\u003c/td\u003e\u003ctd/\u003e\u003ctd\u003e\u003cdiv\u003e\u003cp\u003eThe questionnaire form generated based on the StructureDefinition.\u003c/p\u003e\n\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\u003cdiv\u003e\u003cp\u003e\u003cstrong\u003eOpen Issue\u003c/strong\u003e: Ideally, extensions should be populated in the generated \u003ca href\u003d\"questionnaire.html\"\u003eQuestionnaire\u003c/a\u003e that will support taking \u003ca href\u003d\"questionnaireresponse.html\"\u003eQuestionnaireResponse\u003c/a\u003e resources generated from the Questionnaire and turning them back into the appropriate resources.\u003c/p\u003e\n\u003c/div\u003e\u003c/div\u003e"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 5
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "trial-use"
    }
  ],
  "url": "http://hl7.org/fhir/OperationDefinition/StructureDefinition-questionnaire",
  "version": "5.0.0",
  "name": "Questionnaire",
  "title": "Build Questionnaire",
  "status": "draft",
  "kind": "operation",
  "experimental": false,
  "date": "2023-03-26T15:21:02+11:00",
  "publisher": "HL7 (FHIR Project)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        },
        {
          "system": "email",
          "value": "fhir@lists.hl7.org"
        }
      ]
    }
  ],
  "description": "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).    \n\nIf the operation is not called at the instance level, one of the *identifier*, *profile* or *url* \u0027in\u0027 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 [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 \u0027supportedOnly\u0027 parameter is set to true, only those elements marked as \"must support\" will be included.  \n\nThis operation is intended to enable auto-generation of simple interfaces for arbitrary profiles.  The \u0027questionnaire\u0027 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 \"non-core\" resources with minimal development effort.",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001",
          "display": "World"
        }
      ]
    }
  ],
  "affectsState": false,
  "code": "questionnaire",
  "comment": "**Open Issue**: Ideally, extensions should be populated in the generated [Questionnaire](questionnaire.html) that will support taking [QuestionnaireResponse](questionnaireresponse.html) resources generated from the Questionnaire and turning them back into the appropriate resources.",
  "resource": [
    "StructureDefinition"
  ],
  "system": false,
  "type": true,
  "instance": true,
  "parameter": [
    {
      "name": "identifier",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A logical identifier (i.e. \u0027StructureDefinition.identifier\u0027\u0027). The server must know the StructureDefinition or be able to retrieve it from other known repositories.",
      "type": "Identifier"
    },
    {
      "name": "profile",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The [StructureDefinition](structuredefinition.html) is provided directly as part of the request. Servers may choose not to accept profiles in this fashion",
      "type": "StructureDefinition"
    },
    {
      "name": "url",
      "use": "in",
      "scope": [
        "type"
      ],
      "min": 0,
      "max": "1",
      "documentation": "The StructureDefinition\u0027s official URL (i.e. \u0027StructureDefinition.url\u0027). The server must know the StructureDefinition or be able to retrieve it from other known repositories.",
      "type": "canonical",
      "targetProfile": [
        "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
      ]
    },
    {
      "name": "supportedOnly",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "If true, the questionnaire will only include those elements marked as \"mustSupport\u003d\u0027true\u0027\" in the StructureDefinition.",
      "type": "boolean"
    },
    {
      "name": "return",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "The questionnaire form generated based on the StructureDefinition.",
      "type": "Questionnaire"
    }
  ]
}