StructureDefinition-sdc-questionnaire-entryMode.xml
  1 <?xml version="1.0" encoding="utf-8"?>
  2 <StructureDefinition xmlns="http://hl7.org/fhir">
  3   <id value="sdc-questionnaire-entryMode" />
  4   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
  5     <valueCode value="fhir" />
  6   </extension>
  7   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
  8     <valueInteger value="4">
  9       <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
 10         <valueCanonical value="http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc" />
 11       </extension>
 12     </valueInteger>
 13   </extension>
 14   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
 15     <valueCode value="trial-use">
 16       <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
 17         <valueCanonical value="http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc" />
 18       </extension>
 19     </valueCode>
 20   </extension>
 21   <url value="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-entryMode" />
 22   <identifier>
 23     <system value="urn:ietf:rfc:3986" />
 24     <value value="urn:oid:2.16.840.1.113883.4.642.40.17.42.24" />
 25   </identifier>
 26   <version value="4.0.0-ballot" />
 27   <name value="EntryMode" />
 28   <title value="Entry mode" />
 29   <status value="active" />
 30   <date value="2024-12-22T04:48:38.0000000+01:00" />
 31   <publisher value="HL7 International / FHIR Infrastructure" />
 32   <contact>
 33     <name value="HL7 International / FHIR Infrastructure" />
 34     <telecom>
 35       <system value="url" />
 36       <value value="http://www.hl7.org/Special/committees/fiwg" />
 37     </telecom>
 38   </contact>
 39   <contact>
 40     <telecom>
 41       <system value="url" />
 42       <value value="http://www.hl7.org/Special/committees/fiwg" />
 43     </telecom>
 44   </contact>
 45   <description value="Indicates how questions within the questionnaire should be presented to the end-user.  Specifically, differentiates whether the questions should be displayed one-at-a-time with no ability to adjust prior entries; one-at-a-time or continuously expanding where all questions up to the current question can be looked at and edited, or random, where all questions can be seen and the questions can be filled out in any order desired.

When the entryMode is one that will prohibit the user from going back to edit preceding questions, the form filler must ensure that the answer meets all validation constraints (cardinality, length, etc.) prior to allowing the user to progress to subsequent items.  However, when the entryMode allows editing prior items, then form fillers SHOULD allow a user to move on and answer subsequent items, with the recognition that they'll eventually have to go back to make corrections before the QuestionnaireResponse can transition to a status of 'complete'.

Note: if the only objective is to ensure that certain future questions/groups aren't turned on until/unless specific previous items are satisfactorily completed, this should be accomplished using [enableWhen](behavior.html#enableWhen) or [enableWhenExpression](behavior.html#enableWhenExpression)." />
 46   <jurisdiction>
 47     <coding>
 48       <system value="http://unstats.un.org/unsd/methods/m49/m49.htm" />
 49       <code value="001" />
 50       <display value="World" />
 51     </coding>
 52   </jurisdiction>
 53   <purpose value="Some instruments need to prevent editing of previous answers once subsequent answers are revealed." />
 54   <fhirVersion value="4.0.1" />
 55   <mapping>
 56     <identity value="rim" />
 57     <uri value="http://hl7.org/v3" />
 58     <name value="RIM Mapping" />
 59   </mapping>
 60   <kind value="complex-type" />
 61   <abstract value="false" />
 62   <context>
 63     <type value="element" />
 64     <expression value="Questionnaire" />
 65   </context>
 66   <type value="Extension" />
 67   <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
 68   <derivation value="constraint" />
 69   <snapshot>
 70     <element id="Extension">
 71       <path value="Extension" />
 72       <short value="sequential | prior-edit | random" />
 73       <definition value="Indicates how questions within the questionnaire should be presented to the end-user.  Specifically, differentiates whether the questions should be displayed one-at-a-time with no ability to adjust prior entries; one-at-a-time or continuously expanding where all questions up to the current question can be looked at and edited, or random, where all questions can be seen and the questions can be filled out in any order desired." />
 74       <comment value="The prior-edit functionality can be accomplished by adding questions to the screen as each subsequent question is answered (resulting in all questions being displayed in a single screen) or with a view that shows only one question at a time but allows backward navigation to view and/or edit prior answers." />
 75       <min value="0" />
 76       <max value="1" />
 77       <base>
 78         <path value="Extension" />
 79         <min value="0" />
 80         <max value="*" />
 81       </base>
 82       <condition value="ele-1" />
 83       <constraint>
 84         <key value="ele-1" />
 85         <severity value="error" />
 86         <human value="All FHIR elements must have a @value or children" />
 87         <expression value="hasValue() or (children().count() > id.count())" />
 88         <xpath value="@value|f:*|h:div" />
 89         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
 90       </constraint>
 91       <constraint>
 92         <key value="ext-1" />
 93         <severity value="error" />
 94         <human value="Must have either extensions or value[x], not both" />
 95         <expression value="extension.exists() != value.exists()" />
 96         <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
 97         <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
 98       </constraint>
 99       <isModifier value="false" />
100     </element>
101     <element id="Extension.id">
102       <path value="Extension.id" />
103       <representation value="xmlAttr" />
104       <short value="Unique id for inter-element referencing" />
105       <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
106       <min value="0" />
107       <max value="1" />
108       <base>
109         <path value="Element.id" />
110         <min value="0" />
111         <max value="1" />
112       </base>
113       <type>
114         <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
115           <valueUrl value="string" />
116         </extension>
117         <code value="http://hl7.org/fhirpath/System.String" />
118       </type>
119       <isModifier value="false" />
120       <isSummary value="false" />
121       <mapping>
122         <identity value="rim" />
123         <map value="n/a" />
124       </mapping>
125     </element>
126     <element id="Extension.extension">
127       <path value="Extension.extension" />
128       <slicing>
129         <discriminator>
130           <type value="value" />
131           <path value="url" />
132         </discriminator>
133         <description value="Extensions are always sliced by (at least) url" />
134         <rules value="open" />
135       </slicing>
136       <short value="Extension" />
137       <definition value="An Extension" />
138       <min value="0" />
139       <max value="0" />
140       <base>
141         <path value="Element.extension" />
142         <min value="0" />
143         <max value="*" />
144       </base>
145       <type>
146         <code value="Extension" />
147       </type>
148       <constraint>
149         <key value="ele-1" />
150         <severity value="error" />
151         <human value="All FHIR elements must have a @value or children" />
152         <expression value="hasValue() or (children().count() > id.count())" />
153         <xpath value="@value|f:*|h:div" />
154         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
155       </constraint>
156       <constraint>
157         <key value="ext-1" />
158         <severity value="error" />
159         <human value="Must have either extensions or value[x], not both" />
160         <expression value="extension.exists() != value.exists()" />
161         <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
162         <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
163       </constraint>
164       <isModifier value="false" />
165       <isSummary value="false" />
166     </element>
167     <element id="Extension.url">
168       <path value="Extension.url" />
169       <representation value="xmlAttr" />
170       <short value="identifies the meaning of the extension" />
171       <definition value="Source of the definition for the extension code - a logical name or a URL." />
172       <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." />
173       <min value="1" />
174       <max value="1" />
175       <base>
176         <path value="Extension.url" />
177         <min value="1" />
178         <max value="1" />
179       </base>
180       <type>
181         <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
182           <valueUrl value="uri" />
183         </extension>
184         <code value="http://hl7.org/fhirpath/System.String" />
185       </type>
186       <fixedUri value="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-entryMode" />
187       <isModifier value="false" />
188       <isSummary value="false" />
189       <mapping>
190         <identity value="rim" />
191         <map value="N/A" />
192       </mapping>
193     </element>
194     <element id="Extension.value[x]">
195       <path value="Extension.value[x]" />
196       <short value="Value of extension" />
197       <definition value="Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list)." />
198       <min value="0" />
199       <max value="1" />
200       <base>
201         <path value="Extension.value[x]" />
202         <min value="0" />
203         <max value="1" />
204       </base>
205       <type>
206         <code value="code" />
207       </type>
208       <constraint>
209         <key value="ele-1" />
210         <severity value="error" />
211         <human value="All FHIR elements must have a @value or children" />
212         <expression value="hasValue() or (children().count() > id.count())" />
213         <xpath value="@value|f:*|h:div" />
214         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
215       </constraint>
216       <isModifier value="false" />
217       <isSummary value="false" />
218       <binding>
219         <strength value="required" />
220         <description value="Entry modes when completing a questionnaire" />
221         <valueSet value="http://hl7.org/fhir/uv/sdc/ValueSet/entryMode" />
222       </binding>
223       <mapping>
224         <identity value="rim" />
225         <map value="N/A" />
226       </mapping>
227     </element>
228   </snapshot>
229   <differential>
230     <element id="Extension">
231       <path value="Extension" />
232       <short value="sequential | prior-edit | random" />
233       <definition value="Indicates how questions within the questionnaire should be presented to the end-user.  Specifically, differentiates whether the questions should be displayed one-at-a-time with no ability to adjust prior entries; one-at-a-time or continuously expanding where all questions up to the current question can be looked at and edited, or random, where all questions can be seen and the questions can be filled out in any order desired." />
234       <comment value="The prior-edit functionality can be accomplished by adding questions to the screen as each subsequent question is answered (resulting in all questions being displayed in a single screen) or with a view that shows only one question at a time but allows backward navigation to view and/or edit prior answers." />
235       <max value="1" />
236     </element>
237     <element id="Extension.extension">
238       <path value="Extension.extension" />
239       <max value="0" />
240     </element>
241     <element id="Extension.url">
242       <path value="Extension.url" />
243       <fixedUri value="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-entryMode" />
244     </element>
245     <element id="Extension.value[x]">
246       <path value="Extension.value[x]" />
247       <type>
248         <code value="code" />
249       </type>
250       <binding>
251         <strength value="required" />
252         <description value="Entry modes when completing a questionnaire" />
253         <valueSet value="http://hl7.org/fhir/uv/sdc/ValueSet/entryMode" />
254       </binding>
255     </element>
256   </differential>
257 </StructureDefinition>