{
  "resourceType": "StructureDefinition",
  "id": "99d4240e-be9b-431b-8ed2-0583ad91fdf2",
  "meta": {
    "lastUpdated": "2021-12-01T08:51:16.843+00:00"
  },
  "url": "https://fhir.cambio.se/StructureDefinition/QuestionnaireSe",
  "name": "QuestionnaireSe",
  "status": "active",
  "date": "2021-12-01T08:43:49.0379712+00:00",
  "description": "The QuestionnaireSe profile is used to retrieve questionnaires (journal note template) from an external system. The Questionnaire resource is used as a template for a QuestionnaireResponse, which then retrieves the answers to the Questionnaire.",
  "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": "https://fhir.cambio.se/StructureDefinition/QuestionnaireCore/v1",
  "derivation": "constraint",
  "snapshot": {},
  "differential": {
    "element": [
      {
        "id": "Questionnaire.id",
        "path": "Questionnaire.id",
        "min": 1
      },
      {
        "id": "Questionnaire.meta",
        "path": "Questionnaire.meta"
      },
      {
        "id": "Questionnaire.meta.profile",
        "path": "Questionnaire.meta.profile",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Questionnaire.url",
        "path": "Questionnaire.url",
        "min": 1
      },
      {
        "id": "Questionnaire.identifier",
        "path": "Questionnaire.identifier",
        "max": "0"
      },
      {
        "id": "Questionnaire.version",
        "path": "Questionnaire.version",
        "definition": "The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it migVht be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence."
      },
      {
        "id": "Questionnaire.name",
        "path": "Questionnaire.name",
        "max": "0"
      },
      {
        "id": "Questionnaire.title",
        "path": "Questionnaire.title",
        "definition": "The name of the questionnaire/ journal note template.",
        "min": 1
      },
      {
        "id": "Questionnaire.derivedFrom",
        "path": "Questionnaire.derivedFrom",
        "max": "0"
      },
      {
        "id": "Questionnaire.status",
        "path": "Questionnaire.status",
        "short": "active",
        "definition": "The status of this questionnaire. The status will always be active.",
        "fixedCode": "active"
      },
      {
        "id": "Questionnaire.subjectType",
        "path": "Questionnaire.subjectType",
        "max": "0"
      },
      {
        "id": "Questionnaire.date",
        "path": "Questionnaire.date",
        "max": "0"
      },
      {
        "id": "Questionnaire.contact",
        "path": "Questionnaire.contact",
        "max": "0"
      },
      {
        "id": "Questionnaire.description",
        "path": "Questionnaire.description",
        "definition": "Help text is used to describe what questionnaire is used for."
      },
      {
        "id": "Questionnaire.useContext",
        "path": "Questionnaire.useContext",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "code"
            }
          ],
          "rules": "open"
        },
        "definition": "The use context is both used for definition of who will use the questionnaire, and in what context the questionnaire will be used. This means that the useContext element will support both questionnaires for patient and healthcare professionals, and the context in which the questionnaire is used (for example \"Doctor visit\".",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Questionnaire.useContext:PatientQuestionnaire",
        "path": "Questionnaire.useContext",
        "sliceName": "PatientQuestionnaire",
        "definition": "The PatientQuestionnaire slice is used when a patient is the intended user for the questionnaire.",
        "max": "1"
      },
      {
        "id": "Questionnaire.useContext:PatientQuestionnaire.code.system",
        "path": "Questionnaire.useContext.code.system",
        "min": 1,
        "fixedUri": "http://snomed.info/sct"
      },
      {
        "id": "Questionnaire.useContext:PatientQuestionnaire.code.code",
        "path": "Questionnaire.useContext.code.code",
        "definition": "Snomed CT code for \"Patient\".",
        "min": 1,
        "fixedCode": "116154003"
      },
      {
        "id": "Questionnaire.useContext:PatientQuestionnaire.value[x]",
        "path": "Questionnaire.useContext.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Questionnaire.useContext:PractitionerQuestionnaire",
        "path": "Questionnaire.useContext",
        "sliceName": "PractitionerQuestionnaire",
        "definition": "The PractitionerQuestionnaire slice is used when a healthcare professional is the intended user for the questionnaire.",
        "max": "1"
      },
      {
        "id": "Questionnaire.useContext:PractitionerQuestionnaire.code.system",
        "path": "Questionnaire.useContext.code.system",
        "min": 1,
        "fixedUri": "http://snomed.info/sct"
      },
      {
        "id": "Questionnaire.useContext:PractitionerQuestionnaire.code.code",
        "path": "Questionnaire.useContext.code.code",
        "definition": "Snomed CT code for \"Healthcare professional\".",
        "min": 1,
        "fixedCode": "223366009"
      },
      {
        "id": "Questionnaire.useContext:PractitionerQuestionnaire.value[x]",
        "path": "Questionnaire.useContext.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Questionnaire.useContext:QuestionnaireContext",
        "path": "Questionnaire.useContext",
        "sliceName": "QuestionnaireContext",
        "definition": "The QuestionnaireContext slice is used to define the context which the questionnaire is intended for. For example \"Doctors visit\" or \"Pre-operation questionnaire\".",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Questionnaire.useContext:QuestionnaireContext.code",
        "path": "Questionnaire.useContext.code",
        "binding": {
          "strength": "required",
          "valueSet": "https://cambio.codes/vs/usage-context-types"
        }
      },
      {
        "id": "Questionnaire.useContext:QuestionnaireContext.value[x]",
        "path": "Questionnaire.useContext.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Questionnaire.approvalDate",
        "path": "Questionnaire.approvalDate",
        "max": "0"
      },
      {
        "id": "Questionnaire.lastReviewDate",
        "path": "Questionnaire.lastReviewDate",
        "max": "0"
      },
      {
        "id": "Questionnaire.effectivePeriod",
        "path": "Questionnaire.effectivePeriod",
        "max": "0"
      },
      {
        "id": "Questionnaire.code",
        "path": "Questionnaire.code",
        "definition": "It is possible to bind codes on questionnaire level with internal codes, or a standard such as Snomed CT.",
        "min": 1
      },
      {
        "id": "Questionnaire.code.system",
        "path": "Questionnaire.code.system",
        "min": 1
      },
      {
        "id": "Questionnaire.code.code",
        "path": "Questionnaire.code.code",
        "min": 1
      },
      {
        "id": "Questionnaire.item.definition",
        "path": "Questionnaire.item.definition",
        "max": "0"
      },
      {
        "id": "Questionnaire.item.code.system",
        "path": "Questionnaire.item.code.system",
        "min": 1
      },
      {
        "id": "Questionnaire.item.code.code",
        "path": "Questionnaire.item.code.code",
        "min": 1
      },
      {
        "id": "Questionnaire.item.text",
        "path": "Questionnaire.item.text",
        "min": 1
      },
      {
        "id": "Questionnaire.item.type",
        "path": "Questionnaire.item.type",
        "short": "string | decimal | choice | dateTime | boolean | reference | question",
        "definition": "The type of questionnaire item this is, what type of information can be handled for this item (string, integer, coded choice, etc.)."
      },
      {
        "id": "Questionnaire.item.answerValueSet",
        "path": "Questionnaire.item.answerValueSet",
        "max": "0"
      },
      {
        "id": "Questionnaire.item.answerOption.value[x]",
        "path": "Questionnaire.item.answerOption.value[x]",
        "type": [
          {
            "code": "Coding"
          }
        ]
      },
      {
        "id": "Questionnaire.item.initial",
        "path": "Questionnaire.item.initial",
        "max": "0"
      }
    ]
  }
}