0.1.0 - ci-build

RarecareFHIRIG - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: Questionnaire for functioning

Defining URL:http://rarecare.world/fhir/StructureDefinition/functioning-questionnaire
Version:0.1.0
Name:FunctioningQuestionnaire
Title:Questionnaire for functioning
Status:Active as of 2021-06-18T17:19:10+02:00
Definition:

The FunctioningQuestionnaire is a questionnaire for patients with rare conditions. It captures aspects of their functioning relevant to their specific disease.

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://rarecare.world/fhir/StructureDefinition/functioning-questionnaire

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Questionnaire

Summary

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Questionnaire.languagepreferredCommonLanguages
Max Binding: AllLanguages
Questionnaire.statusrequiredPublicationStatus
Questionnaire.subjectTyperequiredResourceType
Questionnaire.jurisdictionextensibleJurisdiction ValueSet
Questionnaire.codeexamplePattern: LOINC code 10158-4("History of Functional status Narrative")
Questionnaire.item.coderequiredICFBcodes
Questionnaire.item.typerequiredQuestionnaireItemType
Questionnaire.item.enableWhen.operatorrequiredQuestionnaireItemOperator
Questionnaire.item.enableWhen.answer[x]exampleQuestionnaireAnswerCodes
Questionnaire.item.enableBehaviorrequiredEnableWhenBehavior
Questionnaire.item.answerOption.value[x]exampleQuestionnaireAnswerCodes
Questionnaire.item.initial.value[x]exampleQuestionnaireAnswerCodes

Constraints

IdPathDetailsRequirements
dom-2QuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3QuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4QuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5QuestionnaireIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6QuestionnaireA resource should have narrative for robust management
: text.`div`.exists()
que-0QuestionnaireName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-2QuestionnaireThe link ids for groups and questions must be unique within the questionnaire
: descendants().linkId.isDistinct()
ele-1Questionnaire.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.derivedFromAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.experimentalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.subjectTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.publisherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.useContextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.jurisdictionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.purposeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.copyrightAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.approvalDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.lastReviewDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.effectivePeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.itemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
que-1Questionnaire.itemGroup items must have nested items, display items cannot have nested items
: (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-3Questionnaire.itemDisplay items cannot have a "code" asserted
: type!='display' or code.empty()
que-4Questionnaire.itemA question cannot have both answerOption and answerValueSet
: answerOption.empty() or answerValueSet.empty()
que-5Questionnaire.itemOnly 'choice' and 'open-choice' items can have answerValueSet
: (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6Questionnaire.itemRequired and repeat aren't permitted for display items
: type!='display' or (required.empty() and repeats.empty())
que-8Questionnaire.itemInitial values can't be specified for groups or display items
: (type!='group' and type!='display') or initial.empty()
que-9Questionnaire.itemRead-only can't be specified for "display" items
: type!='display' or readOnly.empty()
que-10Questionnaire.itemMaximum length can only be declared for simple question types
: (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11Questionnaire.itemIf one or more answerOption is present, initial[x] must be missing
: answerOption.empty() or initial.empty()
que-12Questionnaire.itemIf there are more than one enableWhen, enableBehavior must be specified
: enableWhen.count() > 2 implies enableBehavior.exists()
que-13Questionnaire.itemCan only have multiple initial values for repeating items
: repeats=true or initial.count() <= 1
ele-1Questionnaire.item.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.linkIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.definitionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.code.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.code.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.code.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.code.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.code.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.prefixAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.enableWhenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
que-7Questionnaire.item.enableWhenIf the operator is 'exists', the value must be a boolean
: operator = 'exists' implies (answer is Boolean)
ele-1Questionnaire.item.enableWhen.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.enableWhen.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.enableWhen.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.enableWhen.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.enableWhen.questionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.enableWhen.operatorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.enableWhen.answer[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.enableBehaviorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.requiredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.repeatsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.readOnlyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.maxLengthAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.answerValueSetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.answerOptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.answerOption.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.answerOption.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.answerOption.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.answerOption.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.answerOption.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.answerOption.initialSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.initialAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.initial.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.initial.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.initial.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Questionnaire.item.initial.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Questionnaire.item.initial.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Questionnaire.item.itemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())