{
  "resourceType": "StructureDefinition",
  "id": "tiro-questionnaire",
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category",
      "valueString": "Specialized.Definitional Artifacts"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category",
      "valueCode": "business"
    }
  ],
  "url": "http://tiro.health/fhir/StructureDefinition/tiro-questionnaire",
  "version": "0.1.1",
  "name": "TiroQuestionnaire",
  "title": "Tiro Questionnaire",
  "status": "active",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "workflow",
      "uri": "http://hl7.org/fhir/workflow",
      "name": "Workflow Pattern"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    },
    {
      "identity": "objimpl",
      "uri": "http://hl7.org/fhir/object-implementation",
      "name": "Object Implementation Information"
    },
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Questionnaire",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Questionnaire",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Questionnaire.language",
        "path": "Questionnaire.language",
        "min": 1
      },
      {
        "id": "Questionnaire.title",
        "path": "Questionnaire.title",
        "min": 1
      },
      {
        "id": "Questionnaire.publisher",
        "path": "Questionnaire.publisher",
        "min": 1
      },
      {
        "id": "Questionnaire.item",
        "path": "Questionnaire.item",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "type"
            }
          ],
          "rules": "closed",
          "description": "Slice based on the item.type pattern"
        }
      },
      {
        "id": "Questionnaire.item.item",
        "path": "Questionnaire.item.item",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern"
            }
          ]
        }
      },
      {
        "id": "Questionnaire.item:freeText",
        "path": "Questionnaire.item",
        "sliceName": "freeText",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Questionnaire.item:freeText.text",
        "path": "Questionnaire.item.text",
        "min": 1
      },
      {
        "id": "Questionnaire.item:freeText.type",
        "path": "Questionnaire.item.type",
        "patternCode": "open-choice"
      },
      {
        "id": "Questionnaire.item:freeText.answerValueSet",
        "path": "Questionnaire.item.answerValueSet",
        "min": 1
      },
      {
        "id": "Questionnaire.item:freeText.initial.value[x]",
        "path": "Questionnaire.item.initial.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Questionnaire.item:quantity",
        "path": "Questionnaire.item",
        "sliceName": "quantity",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Questionnaire.item:quantity.text",
        "path": "Questionnaire.item.text",
        "min": 1
      },
      {
        "id": "Questionnaire.item:quantity.type",
        "path": "Questionnaire.item.type",
        "patternCode": "quantity"
      },
      {
        "id": "Questionnaire.item:quantity.initial.value[x]",
        "path": "Questionnaire.item.initial.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ]
      },
      {
        "id": "Questionnaire.item:quantity.initial.valueQuantity",
        "path": "Questionnaire.item.initial.valueQuantity",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Questionnaire.item:quantity.initial.valueQuantity.unit",
        "path": "Questionnaire.item.initial.valueQuantity.unit",
        "min": 1
      },
      {
        "id": "Questionnaire.item:choice",
        "path": "Questionnaire.item",
        "sliceName": "choice",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Questionnaire.item:choice.text",
        "path": "Questionnaire.item.text",
        "min": 1
      },
      {
        "id": "Questionnaire.item:choice.type",
        "path": "Questionnaire.item.type",
        "patternCode": "choice"
      },
      {
        "id": "Questionnaire.item:choice.answerValueSet",
        "path": "Questionnaire.item.answerValueSet",
        "min": 1
      },
      {
        "id": "Questionnaire.item:group",
        "path": "Questionnaire.item",
        "sliceName": "group",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Questionnaire.item:group.text",
        "path": "Questionnaire.item.text",
        "min": 1
      },
      {
        "id": "Questionnaire.item:group.type",
        "path": "Questionnaire.item.type",
        "patternCode": "group"
      },
      {
        "id": "Questionnaire.item:group.item:freeText",
        "path": "Questionnaire.item.item",
        "sliceName": "freeText",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Questionnaire.item:group.item:freeText.text",
        "path": "Questionnaire.item.item.text",
        "min": 1
      },
      {
        "id": "Questionnaire.item:group.item:freeText.type",
        "path": "Questionnaire.item.item.type",
        "patternCode": "open-choice"
      },
      {
        "id": "Questionnaire.item:group.item:freeText.answerValueSet",
        "path": "Questionnaire.item.item.answerValueSet",
        "min": 1
      },
      {
        "id": "Questionnaire.item:group.item:freeText.initial.value[x]",
        "path": "Questionnaire.item.item.initial.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Questionnaire.item:group.item:quantity",
        "path": "Questionnaire.item.item",
        "sliceName": "quantity",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Questionnaire.item:group.item:quantity.text",
        "path": "Questionnaire.item.item.text",
        "min": 1
      },
      {
        "id": "Questionnaire.item:group.item:quantity.type",
        "path": "Questionnaire.item.item.type",
        "patternCode": "quantity"
      },
      {
        "id": "Questionnaire.item:group.item:quantity.initial.value[x]",
        "path": "Questionnaire.item.item.initial.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ]
      },
      {
        "id": "Questionnaire.item:group.item:quantity.initial.valueQuantity",
        "path": "Questionnaire.item.item.initial.valueQuantity",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Questionnaire.item:group.item:quantity.initial.valueQuantity.unit",
        "path": "Questionnaire.item.item.initial.valueQuantity.unit",
        "min": 1
      },
      {
        "id": "Questionnaire.item:group.item:choice",
        "path": "Questionnaire.item.item",
        "sliceName": "choice",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Questionnaire.item:group.item:choice.text",
        "path": "Questionnaire.item.item.text",
        "min": 1
      },
      {
        "id": "Questionnaire.item:group.item:choice.type",
        "path": "Questionnaire.item.item.type",
        "patternCode": "choice"
      },
      {
        "id": "Questionnaire.item:group.item:choice.answerValueSet",
        "path": "Questionnaire.item.item.answerValueSet",
        "min": 1
      }
    ]
  }
}