Schema to describe how we extract values from clinic program monitoring forms to clinical parameters.
Settings for configuring miscellaneous monitoring formset and form settings. Note that the same settings are used for both monitoring formset and forms.
No Additional PropertiesQAParser.settings
describes how fields can be parsed and extracted out of QAPair
s. The basis of QAParser
is QAField
which describe individual normalized values that are extracted.
During extraction, QAField
s are iterated in a sequence for each QAPair
to attempt extraction. As such, the order of precedence for non-array fields (i.e., is_array = false
) are such that values extracted from later QAField
s override earlier ones.
For array QAField
s (i.e., is_array = true
), the extracted values are concatenated together.
An array of Field
describing the how and what to extract from a QAPair
.
All items must be unique
No Additional ItemsA field describes how to identify and extract the value from a Question-Answer pair.
No Additional PropertiesThe extracted value will be associated with this key.
Must be at least 1
characters long
Regular expression pattern that will be used to search the question text. We use Python regular expressions and re.search
for matching.
Must be at least 1
characters long
Type of the extracted value. Defaults to string
.
- For number
, we will convert the value to float
. - For boolean
, we support handling of non-zero numbers, yes
, and true
. All other values are deemed as false
.
If is_array
and there are multiple question-field matches, the entries will be grouped together into a list
.
If not is_array
and the answer value is already a list, only the first element will be used.
Defaults to false
.
Set this to true
to use case-sensitive regex search. Defaults to false
.
Action to take during parser error. Defaults to raise
.
Default value to use when this field is not set.
null
Normalize value to a specific set of choices using Regex. The first matching regex in this array will be used as the normalized choice. If no matches are found, the original string value is used. Only applies to string
type.
Must contain a minimum of 0
items
Regular expression to match for normalization.
Must be at least 1
characters long
Choice to be returned by the parser.
Use the given format string for parsing date/datetime. Defaults to dateutil.parser.parse(value, dayfirst=True, default=today_midnight)
.
Must be at least 1
characters long
Use the given format string for parsing time. Defaults to dateutil.parser.parse(value, dayfirst=True, default=today_midnight)
.
Must be at least 1
characters long
For date-time fields that are date only, this will be the default time added to it. Defaults to 08:00
.
Ensures that the timezone of any parsed DATETIME
or TIME
field is localized to this timezone. Defaults to UTC
.
Must be at least 1
characters long
Deprecated. Use create_submission_value_from_patient_metadata
instead. If true
, a SubmissionValue
will be created from the corresponding PatientMetadataEntry
. Defaults to false
.
Deprecated. Use create_submission_value_from_patient_form_metadata
instead. If true
, a SubmissionValue
will be created from the corresponding PatientFormMetadataEntry
. Defaults to false
.
This clinical parameter will not be shown in the alert messages sent to clinicians. Defaults to false
.
An arbitrary order of preference for display purposes. Default value is 1000
. Parameters with smaller sortOrder
should appear earlier in the list.
For numerical clinical parameters, this is used to control the precision for display purposes. Note the misnomer: Precision here refers to number of decimal points. Thus, 0
refers to whole number representation. Defaults to null
where we dont set the precision on the returned values.
Value must be greater or equal to 0
Mark the string clinical parameter value as a temporary URL. Temporary URL will redirect to stitch link which will check for validity.
Validity (Hours) for url before it expired.
Value must be greater or equal to 1
Message to be display when temporary URL expired.
Must be at least 1
characters long
Format date-time clinical parameter using this Python strftime style format. Defaults to clinic's datetime_format
.
Must be at least 1
characters long
Format time clinical parameter using this Python strftime style format. Defaults to %H:%M
.
Must be at least 1
characters long
Create/Update the PatientMetadataEntry
for submissions including this clinical parameter. Defaults to false
.
Create/Update the PatientFormMetadataEntry
for submissions including this clinical parameter. Defaults to false
.
Create/Update the PatientProgramMetadataEntry
for submissions including this clinical parameter. Defaults to false
.
Create/Update the PatientProgramFormMetadataEntry
for submissions including this clinical parameter. Defaults to false
.
If true
, a SubmissionValue
will be created from the corresponding PatientMetadataEntry
. Defaults to false
.
If true
, a SubmissionValue
will be created from the corresponding PatientFormMetadataEntry
. Defaults to false
.
If true
, a SubmissionValue
will be created from the corresponding PatientProgramMetadataEntry
. Defaults to false
.
If true
, a SubmissionValue
will be created from the corresponding PatientProgramFormMetadataEntry
. Defaults to false
.
If true
, this clinicial parameter will be available for creation by clinician in the Patient metadata modal. Defaults to false
.
If true
, this clinicial parameter will be available for creation by clinician in the Patient-Form metadata modal. Defaults to false
.
If true
, this clinicial parameter will be available for creation by clinician in the Patient-Program metadata modal. Defaults to false
.
If true
, this clinicial parameter will be available for creation by clinician in the Patient-Program-Form metadata modal. Defaults to false
.
If true
, this clinicial parameter will be available for creation by clinician in the Patient-Event metadata modal. Defaults to false
.
Use a Python formula to compute the value of this clinical parameter. Python code may be used here which is executed using exec
. Note that locals
/globals
will be restricted and only populated with:
1. extracted clinical parameters: parameters: Mapping[str, ClinicalParameterValueT]
, 2. patient metadata: patient_metadata: Mapping[str, ClinicalParameterValueT]
), 3. patient-form metadata: patient_form_metadata: Mapping[str, ClinicalParameterValueT]
.
The calculated value should be stored in a variable named calculated
.
Must be at least 1
characters long
For frontend to display possible value of the clinical parameters.
Must contain a minimum of 1
items
Must be at least 1
characters long