Repository URL to install this package:
|
Version:
4.0.0 ▾
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Generated from FHIR 4.0.0-a53ec6ee1b (http://hl7.org/fhir/StructureDefinition/Questionnaire) on 2019-05-07.
# 2019, SMART Health IT.
from . import domainresource
class Questionnaire(domainresource.DomainResource):
""" A structured set of questions.
A structured set of questions intended to guide the collection of answers
from end-users. Questionnaires provide detailed control over order,
presentation, phraseology and grouping to allow coherent, consistent data
collection.
"""
resource_type = "Questionnaire"
def __init__(self, jsondict=None, strict=True):
""" Initialize all valid properties.
:raises: FHIRValidationError on validation errors, unless strict is False
:param dict jsondict: A JSON dictionary to use for initialization
:param bool strict: If True (the default), invalid variables will raise a TypeError
"""
self.approvalDate = None
""" When the questionnaire was approved by publisher.
Type `FHIRDate` (represented as `str` in JSON). """
self.code = None
""" Concept that represents the overall questionnaire.
List of `Coding` items (represented as `dict` in JSON). """
self.contact = None
""" Contact details for the publisher.
List of `ContactDetail` items (represented as `dict` in JSON). """
self.copyright = None
""" Use and/or publishing restrictions.
Type `str`. """
self.date = None
""" Date last changed.
Type `FHIRDate` (represented as `str` in JSON). """
self.derivedFrom = None
""" Instantiates protocol or definition.
List of `str` items. """
self.description = None
""" Natural language description of the questionnaire.
Type `str`. """
self.effectivePeriod = None
""" When the questionnaire is expected to be used.
Type `Period` (represented as `dict` in JSON). """
self.experimental = None
""" For testing purposes, not real usage.
Type `bool`. """
self.identifier = None
""" Additional identifier for the questionnaire.
List of `Identifier` items (represented as `dict` in JSON). """
self.item = None
""" Questions and sections within the Questionnaire.
List of `QuestionnaireItem` items (represented as `dict` in JSON). """
self.jurisdiction = None
""" Intended jurisdiction for questionnaire (if applicable).
List of `CodeableConcept` items (represented as `dict` in JSON). """
self.lastReviewDate = None
""" When the questionnaire was last reviewed.
Type `FHIRDate` (represented as `str` in JSON). """
self.name = None
""" Name for this questionnaire (computer friendly).
Type `str`. """
self.publisher = None
""" Name of the publisher (organization or individual).
Type `str`. """
self.purpose = None
""" Why this questionnaire is defined.
Type `str`. """
self.status = None
""" draft | active | retired | unknown.
Type `str`. """
self.subjectType = None
""" Resource that can be subject of QuestionnaireResponse.
List of `str` items. """
self.title = None
""" Name for this questionnaire (human friendly).
Type `str`. """
self.url = None
""" Canonical identifier for this questionnaire, represented as a URI
(globally unique).
Type `str`. """
self.useContext = None
""" The context that the content is intended to support.
List of `UsageContext` items (represented as `dict` in JSON). """
self.version = None
""" Business version of the questionnaire.
Type `str`. """
super(Questionnaire, self).__init__(jsondict=jsondict, strict=strict)
def elementProperties(self):
js = super(Questionnaire, self).elementProperties()
js.extend([
("approvalDate", "approvalDate", fhirdate.FHIRDate, False, None, False),
("code", "code", coding.Coding, True, None, False),
("contact", "contact", contactdetail.ContactDetail, True, None, False),
("copyright", "copyright", str, False, None, False),
("date", "date", fhirdate.FHIRDate, False, None, False),
("derivedFrom", "derivedFrom", str, True, None, False),
("description", "description", str, False, None, False),
("effectivePeriod", "effectivePeriod", period.Period, False, None, False),
("experimental", "experimental", bool, False, None, False),
("identifier", "identifier", identifier.Identifier, True, None, False),
("item", "item", QuestionnaireItem, True, None, False),
("jurisdiction", "jurisdiction", codeableconcept.CodeableConcept, True, None, False),
("lastReviewDate", "lastReviewDate", fhirdate.FHIRDate, False, None, False),
("name", "name", str, False, None, False),
("publisher", "publisher", str, False, None, False),
("purpose", "purpose", str, False, None, False),
("status", "status", str, False, None, True),
("subjectType", "subjectType", str, True, None, False),
("title", "title", str, False, None, False),
("url", "url", str, False, None, False),
("useContext", "useContext", usagecontext.UsageContext, True, None, False),
("version", "version", str, False, None, False),
])
return js
from . import backboneelement
class QuestionnaireItem(backboneelement.BackboneElement):
""" Questions and sections within the Questionnaire.
A particular question, question grouping or display text that is part of
the questionnaire.
"""
resource_type = "QuestionnaireItem"
def __init__(self, jsondict=None, strict=True):
""" Initialize all valid properties.
:raises: FHIRValidationError on validation errors, unless strict is False
:param dict jsondict: A JSON dictionary to use for initialization
:param bool strict: If True (the default), invalid variables will raise a TypeError
"""
self.answerOption = None
""" Permitted answer.
List of `QuestionnaireItemAnswerOption` items (represented as `dict` in JSON). """
self.answerValueSet = None
""" Valueset containing permitted answers.
Type `str`. """
self.code = None
""" Corresponding concept for this item in a terminology.
List of `Coding` items (represented as `dict` in JSON). """
self.definition = None
""" ElementDefinition - details for the item.
Type `str`. """
self.enableBehavior = None
""" all | any.
Type `str`. """
self.enableWhen = None
""" Only allow data when.
List of `QuestionnaireItemEnableWhen` items (represented as `dict` in JSON). """
self.initial = None
""" Initial value(s) when item is first rendered.
List of `QuestionnaireItemInitial` items (represented as `dict` in JSON). """
self.item = None
""" Nested questionnaire items.
List of `QuestionnaireItem` items (represented as `dict` in JSON). """
self.linkId = None
""" Unique id for item in questionnaire.
Type `str`. """
self.maxLength = None
""" No more than this many characters.
Type `int`. """
self.prefix = None
""" E.g. "1(a)", "2.5.3".
Type `str`. """
self.readOnly = None
""" Don't allow human editing.
Type `bool`. """
self.repeats = None
""" Whether the item may repeat.
Type `bool`. """
self.required = None
""" Whether the item must be included in data results.
Type `bool`. """
self.text = None
""" Primary text for the item.
Type `str`. """
self.type = None
""" group | display | boolean | decimal | integer | date | dateTime +.
Type `str`. """
super(QuestionnaireItem, self).__init__(jsondict=jsondict, strict=strict)
def elementProperties(self):
js = super(QuestionnaireItem, self).elementProperties()
js.extend([
("answerOption", "answerOption", QuestionnaireItemAnswerOption, True, None, False),
("answerValueSet", "answerValueSet", str, False, None, False),
("code", "code", coding.Coding, True, None, False),
("definition", "definition", str, False, None, False),
("enableBehavior", "enableBehavior", str, False, None, False),
("enableWhen", "enableWhen", QuestionnaireItemEnableWhen, True, None, False),
("initial", "initial", QuestionnaireItemInitial, True, None, False),
("item", "item", QuestionnaireItem, True, None, False),
("linkId", "linkId", str, False, None, True),
("maxLength", "maxLength", int, False, None, False),
("prefix", "prefix", str, False, None, False),
("readOnly", "readOnly", bool, False, None, False),
("repeats", "repeats", bool, False, None, False),
("required", "required", bool, False, None, False),
("text", "text", str, False, None, False),
("type", "type", str, False, None, True),
])
return js
class QuestionnaireItemAnswerOption(backboneelement.BackboneElement):
""" Permitted answer.
One of the permitted answers for a "choice" or "open-choice" question.
"""
resource_type = "QuestionnaireItemAnswerOption"
def __init__(self, jsondict=None, strict=True):
""" Initialize all valid properties.
:raises: FHIRValidationError on validation errors, unless strict is False
:param dict jsondict: A JSON dictionary to use for initialization
:param bool strict: If True (the default), invalid variables will raise a TypeError
"""
self.initialSelected = None
""" Whether option is selected by default.
Type `bool`. """
self.valueCoding = None
""" Answer value.
Type `Coding` (represented as `dict` in JSON). """
self.valueDate = None
""" Answer value.
Type `FHIRDate` (represented as `str` in JSON). """
self.valueInteger = None
""" Answer value.
Type `int`. """
self.valueReference = None
""" Answer value.
Type `FHIRReference` (represented as `dict` in JSON). """
self.valueString = None
""" Answer value.
Type `str`. """
self.valueTime = None
""" Answer value.
Type `FHIRDate` (represented as `str` in JSON). """
super(QuestionnaireItemAnswerOption, self).__init__(jsondict=jsondict, strict=strict)
def elementProperties(self):
js = super(QuestionnaireItemAnswerOption, self).elementProperties()
js.extend([
("initialSelected", "initialSelected", bool, False, None, False),
("valueCoding", "valueCoding", coding.Coding, False, "value", True),
("valueDate", "valueDate", fhirdate.FHIRDate, False, "value", True),
("valueInteger", "valueInteger", int, False, "value", True),
("valueReference", "valueReference", fhirreference.FHIRReference, False, "value", True),
("valueString", "valueString", str, False, "value", True),
("valueTime", "valueTime", fhirdate.FHIRDate, False, "value", True),
])
return js
class QuestionnaireItemEnableWhen(backboneelement.BackboneElement):
""" Only allow data when.
A constraint indicating that this item should only be enabled
(displayed/allow answers to be captured) when the specified condition is
true.
"""
resource_type = "QuestionnaireItemEnableWhen"
def __init__(self, jsondict=None, strict=True):
""" Initialize all valid properties.
:raises: FHIRValidationError on validation errors, unless strict is False
:param dict jsondict: A JSON dictionary to use for initialization
:param bool strict: If True (the default), invalid variables will raise a TypeError
"""
self.answerBoolean = None
""" Value for question comparison based on operator.
Type `bool`. """
self.answerCoding = None
""" Value for question comparison based on operator.
Type `Coding` (represented as `dict` in JSON). """
self.answerDate = None
""" Value for question comparison based on operator.
Type `FHIRDate` (represented as `str` in JSON). """
self.answerDateTime = None
""" Value for question comparison based on operator.
Type `FHIRDate` (represented as `str` in JSON). """
self.answerDecimal = None
""" Value for question comparison based on operator.
Type `float`. """
self.answerInteger = None
""" Value for question comparison based on operator.
Type `int`. """
self.answerQuantity = None
""" Value for question comparison based on operator.
Type `Quantity` (represented as `dict` in JSON). """
self.answerReference = None
""" Value for question comparison based on operator.
Type `FHIRReference` (represented as `dict` in JSON). """
self.answerString = None
""" Value for question comparison based on operator.
Type `str`. """
self.answerTime = None
""" Value for question comparison based on operator.
Type `FHIRDate` (represented as `str` in JSON). """
self.operator = None
""" exists | = | != | > | < | >= | <=.
Type `str`. """
self.question = None
""" Question that determines whether item is enabled.
Type `str`. """
super(QuestionnaireItemEnableWhen, self).__init__(jsondict=jsondict, strict=strict)
def elementProperties(self):
js = super(QuestionnaireItemEnableWhen, self).elementProperties()
js.extend([
("answerBoolean", "answerBoolean", bool, False, "answer", True),
("answerCoding", "answerCoding", coding.Coding, False, "answer", True),
("answerDate", "answerDate", fhirdate.FHIRDate, False, "answer", True),
("answerDateTime", "answerDateTime", fhirdate.FHIRDate, False, "answer", True),
("answerDecimal", "answerDecimal", float, False, "answer", True),
("answerInteger", "answerInteger", int, False, "answer", True),
("answerQuantity", "answerQuantity", quantity.Quantity, False, "answer", True),
("answerReference", "answerReference", fhirreference.FHIRReference, False, "answer", True),
("answerString", "answerString", str, False, "answer", True),
("answerTime", "answerTime", fhirdate.FHIRDate, False, "answer", True),
("operator", "operator", str, False, None, True),
("question", "question", str, False, None, True),
])
return js
class QuestionnaireItemInitial(backboneelement.BackboneElement):
""" Initial value(s) when item is first rendered.
One or more values that should be pre-populated in the answer when
initially rendering the questionnaire for user input.
"""
resource_type = "QuestionnaireItemInitial"
def __init__(self, jsondict=None, strict=True):
""" Initialize all valid properties.
:raises: FHIRValidationError on validation errors, unless strict is False
:param dict jsondict: A JSON dictionary to use for initialization
:param bool strict: If True (the default), invalid variables will raise a TypeError
"""
self.valueAttachment = None
""" Actual value for initializing the question.
Type `Attachment` (represented as `dict` in JSON). """
self.valueBoolean = None
""" Actual value for initializing the question.
Type `bool`. """
self.valueCoding = None
""" Actual value for initializing the question.
Type `Coding` (represented as `dict` in JSON). """
self.valueDate = None
""" Actual value for initializing the question.
Type `FHIRDate` (represented as `str` in JSON). """
self.valueDateTime = None
""" Actual value for initializing the question.
Type `FHIRDate` (represented as `str` in JSON). """
self.valueDecimal = None
""" Actual value for initializing the question.
Type `float`. """
self.valueInteger = None
""" Actual value for initializing the question.
Type `int`. """
self.valueQuantity = None
""" Actual value for initializing the question.
Type `Quantity` (represented as `dict` in JSON). """
self.valueReference = None
""" Actual value for initializing the question.
Type `FHIRReference` (represented as `dict` in JSON). """
self.valueString = None
""" Actual value for initializing the question.
Type `str`. """
self.valueTime = None
""" Actual value for initializing the question.
Type `FHIRDate` (represented as `str` in JSON). """
self.valueUri = None
""" Actual value for initializing the question.
Type `str`. """
super(QuestionnaireItemInitial, self).__init__(jsondict=jsondict, strict=strict)
def elementProperties(self):
js = super(QuestionnaireItemInitial, self).elementProperties()
js.extend([
("valueAttachment", "valueAttachment", attachment.Attachment, False, "value", True),
("valueBoolean", "valueBoolean", bool, False, "value", True),
("valueCoding", "valueCoding", coding.Coding, False, "value", True),
("valueDate", "valueDate", fhirdate.FHIRDate, False, "value", True),
("valueDateTime", "valueDateTime", fhirdate.FHIRDate, False, "value", True),
("valueDecimal", "valueDecimal", float, False, "value", True),
("valueInteger", "valueInteger", int, False, "value", True),
("valueQuantity", "valueQuantity", quantity.Quantity, False, "value", True),
("valueReference", "valueReference", fhirreference.FHIRReference, False, "value", True),
("valueString", "valueString", str, False, "value", True),
("valueTime", "valueTime", fhirdate.FHIRDate, False, "value", True),
("valueUri", "valueUri", str, False, "value", True),
])
return js
import sys
try:
from . import attachment
except ImportError:
attachment = sys.modules[__package__ + '.attachment']
try:
from . import codeableconcept
except ImportError:
codeableconcept = sys.modules[__package__ + '.codeableconcept']
try:
from . import coding
except ImportError:
coding = sys.modules[__package__ + '.coding']
try:
from . import contactdetail
except ImportError:
contactdetail = sys.modules[__package__ + '.contactdetail']
try:
from . import fhirdate
except ImportError:
fhirdate = sys.modules[__package__ + '.fhirdate']
try:
from . import fhirreference
except ImportError:
fhirreference = sys.modules[__package__ + '.fhirreference']
try:
from . import identifier
except ImportError:
identifier = sys.modules[__package__ + '.identifier']
try:
from . import period
except ImportError:
period = sys.modules[__package__ + '.period']
try:
from . import quantity
except ImportError:
quantity = sys.modules[__package__ + '.quantity']
try:
from . import usagecontext
except ImportError:
usagecontext = sys.modules[__package__ + '.usagecontext']