formbuilder-lhcforms 12.1.0 → 12.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,13 +47,13 @@
47
47
  // Specify widget layout.
48
48
  // id is widget schema registry defined in lforms-widget-registry.ts
49
49
  // Label classes and control classes are used in the widget templates to fine tune widget layout positions
50
+ widgetPresetMap: {
51
+ string: 'dialogStringField',
52
+ dateRange: 'dialogDateRangeField',
53
+ number: 'dialogNumberField'
54
+ },
55
+
50
56
  widgets: {
51
- string: {
52
- id: "string",
53
- labelPosition: "left",
54
- labelClasses: "col-sm-2 m-0 px-1",
55
- controlClasses: "col-sm-10 m-0 p-0"
56
- },
57
57
  textarea: {
58
58
  id: "textarea",
59
59
  labelPosition: "left",
@@ -69,7 +69,7 @@
69
69
  tooltipFormat: "json"
70
70
  },
71
71
  urlMandatory: {
72
- id: "url",
72
+ id: "extension-url",
73
73
  labelPosition: "left",
74
74
  labelClasses: "col-sm-2 m-0 px-1",
75
75
  controlClasses: "col-sm-10 m-0 p-0",
@@ -154,16 +154,6 @@
154
154
  controlClasses: "col-sm-3",
155
155
  placeholder: 'yyyy-MM-dd hh:mm:ss (AM|PM)'
156
156
  },
157
- dateRange: {
158
- id: "date-range",
159
- labelPosition: "left",
160
- labelClasses: "col-sm-2 m-0 px-1",
161
- controlClasses: "col-sm-6",
162
- showFields: [
163
- {"field": "start", "col": 6},
164
- {"field": "end", "col": 6}
165
- ]
166
- },
167
157
  instant: {
168
158
  id: "instant",
169
159
  labelPosition: "left",
@@ -196,12 +186,6 @@
196
186
  labelClasses: "col-sm-2 m-0 px-1",
197
187
  controlClasses: "col-sm-10 m-0 p-0"
198
188
  },
199
- number: {
200
- id: "number",
201
- labelPosition: "left",
202
- labelClasses: "col-sm-2 m-0 px-1",
203
- controlClasses: "col-sm-10 m-0 p-0"
204
- },
205
189
  expression: {
206
190
  "id": "lfb-object",
207
191
  "labelPosition": "left",
@@ -147,7 +147,7 @@
147
147
  "$ref": "#/definitions/UsageContext"
148
148
  },
149
149
  "type": "array",
150
- "title": "Use context"
150
+ "title": "Usage Context"
151
151
  },
152
152
  "jurisdiction": {
153
153
  "description": "A legal or geographic region in which the questionnaire is intended to be used.",
@@ -20,7 +20,9 @@
20
20
  { field: "implicitRules", col: 12},
21
21
  { field: "version", col: 12},
22
22
  { field: "name", col: 12},
23
+ { field: "identifier", col: 12},
23
24
  { field: "meta", col: 12},
25
+ { field: "useContext", col: 12},
24
26
  { field: "subjectType", "col": 12},
25
27
  { field: "date", col: 12},
26
28
  { field: "publisher", col: 12},
@@ -42,7 +44,11 @@
42
44
  '$.properties.contained': 'Contained resources',
43
45
  '$.properties.name': 'Questionnaire name',
44
46
  '$.properties.date': 'Revision date',
47
+ '$.properties.meta.properties.tag': 'Tags',
48
+ '$.properties.identifier': 'Identifiers',
45
49
  '$.properties.meta': 'Meta',
50
+ '$.properties.useContext': 'Usage Context',
51
+ '$.properties.useContext.items.properties.__$valueSummary': 'Value',
46
52
  '$.definitions.Meta.properties.versionId': 'Version ID (Read-only)',
47
53
  '$.definitions.Meta.properties.lastUpdated': 'Last updated (Read-only)',
48
54
  '$.definitions.Meta.properties.source': 'Source',
@@ -54,19 +60,15 @@
54
60
  // Specify widget layout.
55
61
  // id is widget schema registry defined in lforms-widget-registry.ts
56
62
  // Label classes and control classes are used in the widget templates to fine tune widget layout positions
63
+ widgetPresetMap: {
64
+ inputBox: 'formStringField',
65
+ textArea: 'formTextareaField',
66
+ instant: 'formInstantField',
67
+ 'positive-integer': 'formPositiveIntegerField',
68
+ 'unsigned-integer': 'formUnsignedIntegerField'
69
+ },
70
+
57
71
  widgets: {
58
- inputBox: {
59
- id: "string",
60
- labelPosition: "left",
61
- labelClasses: "col-sm-2 m-0 ps-0 pe-1",
62
- controlClasses: "col-sm-10 m-0 p-0"
63
- },
64
- textArea: {
65
- id: "textarea",
66
- labelPosition: "left",
67
- labelClasses: "col-sm-2 m-0 ps-0 pe-1",
68
- controlClasses: "col-sm-10 m-0 p-0"
69
- },
70
72
  inputDate: {
71
73
  id: "date",
72
74
  labelPosition: "left",
@@ -97,25 +99,6 @@
97
99
  {"field": "end", "col": 6}
98
100
  ]
99
101
  },
100
- instant: {
101
- id: "instant",
102
- labelPosition: "left",
103
- labelClasses: "col-sm-2 m-0 ps-0 pe-1",
104
- controlClasses: "col-sm-3",
105
- placeholder: 'yyyy-MM-dd hh:mm:ss (AM|PM)'
106
- },
107
- "positive-integer": {
108
- id: "positive-integer",
109
- labelPosition: "left",
110
- labelClasses: "col-sm-2 m-0 ps-0 pe-1",
111
- controlClasses: "col-sm-10 m-0 p-0"
112
- },
113
- "unsigned-integer": {
114
- id: "unsigned-integer",
115
- labelPosition: "left",
116
- labelClasses: "col-sm-2 m-0 ps-0 pe-1",
117
- controlClasses: "col-sm-10 m-0 p-0"
118
- },
119
102
  __$terminologyServer: {
120
103
  "id": "terminology-server",
121
104
  "placeholder": "Enter url for preferred terminology server",
@@ -138,6 +121,20 @@
138
121
  {"field": "system", "col": 4, "nolabel": true}
139
122
  ]
140
123
  },
124
+ identifier: {
125
+ "id": "identifier",
126
+ "addDefaultItemIfEmpty": false,
127
+ "addEditAction": true,
128
+ "labelPosition": "left",
129
+ "labelClasses": "col-sm-2 ps-0 pe-1",
130
+ "controlClasses": "col-sm-10",
131
+ "addButtonLabel": "Add new identifier",
132
+ "showFields": [
133
+ {"field": "value", "col": 4, "nolabel": true},
134
+ {"field": "system", "col": 4, "nolabel": true},
135
+ {"field": "use", "col": 3, "nolabel": true}
136
+ ]
137
+ },
141
138
  metaSecurity: {
142
139
  "id": "table",
143
140
  "labelPosition": "left",
@@ -173,6 +170,20 @@
173
170
  {"field": "tag", "col": 12}
174
171
  ]
175
172
  },
173
+ usageContext: {
174
+ "id": "usage-context",
175
+ "addEditAction": true,
176
+ "labelPosition": "left",
177
+ "labelClasses": "col-sm-2 ps-0 pe-1",
178
+ "controlClasses": "col-sm-10",
179
+ "noTableLabel": false,
180
+ "addButtonLabel": "Add Usage Context",
181
+ "showFields": [
182
+ {"field": "code.display", "title": "Display", "col": 4, "nolabel": true},
183
+ {"field": "code.code", "title": "Code", "col": 3, "nolabel": true},
184
+ {"field": "__$valueSummary", "title": "Value", "col": 4, "nolabel": true}
185
+ ]
186
+ },
176
187
  contained: {
177
188
  "id": "contained",
178
189
  "addEditAction": true,
@@ -311,9 +322,15 @@
311
322
  metaGroup: [
312
323
  '$.properties.meta',
313
324
  ],
325
+ usageContext: [
326
+ '$.properties.useContext'
327
+ ],
314
328
  extension: [
315
329
  '$.properties.extension'
316
330
  ],
331
+ identifier: [
332
+ '$.properties.identifier'
333
+ ],
317
334
  contained: [
318
335
  '$.properties.contained'
319
336
  ],
@@ -0,0 +1,117 @@
1
+ {
2
+ formLayout: {
3
+ targetPage: 'identifierDialog',
4
+ basic: [
5
+ {
6
+ showFields: [
7
+ {field: 'value', col: 12},
8
+ {field: 'system', col: 12},
9
+ {field: 'use', col: 12},
10
+ {field: 'period', col: 12},
11
+ {field: 'type', col: 12},
12
+
13
+ {field: 'assigner', col: 12}
14
+ ]
15
+ }
16
+ ],
17
+ advanced: []
18
+ },
19
+
20
+ overridePropertyLabels: {
21
+ '$.properties.type.properties.text': 'Text',
22
+ '$.properties.type.properties.coding': 'Coding',
23
+ '$.properties.type.properties.coding.items.properties.display': 'Display',
24
+ '$.properties.type.properties.coding.items.properties.code': 'Code',
25
+ '$.properties.type.properties.coding.items.properties.system': 'System',
26
+ '$.properties.assigner.properties.display': 'Display',
27
+ '$.properties.assigner.properties.reference': 'Reference',
28
+ '$.properties.assigner.properties.type': 'Type',
29
+ '$.properties.assigner.properties.identifier': 'Identifier'
30
+ },
31
+
32
+ widgetPresetMap: {
33
+ string: 'dialogStringField',
34
+ codingTable: 'dialogCodingTable',
35
+ typeObject: 'dialogCodeableConceptObject',
36
+ dateRange: 'dialogDateRangeField',
37
+ assignerObject: 'dialogReferenceObject'
38
+ },
39
+
40
+ widgets: {
41
+ useSelect: {
42
+ id: 'select',
43
+ labelPosition: 'left',
44
+ labelClasses: 'col-sm-2 m-0 px-1',
45
+ controlClasses: 'col-sm-10 p-0',
46
+ suppressEmptyInvalidStyle: true
47
+ },
48
+
49
+ url: {
50
+ id: 'url',
51
+ labelPosition: "left",
52
+ labelClasses: "col-sm-2 m-0 px-1",
53
+ controlClasses: "col-sm-10 m-0 p-0"
54
+ },
55
+ object: {
56
+ id: 'lfb-object',
57
+ labelPosition: 'left',
58
+ labelClasses: 'col-sm-2 ps-0 pe-1',
59
+ controlClasses: 'col-sm-10'
60
+ },
61
+ identifierTable: {
62
+ id: 'identifier',
63
+ labelPosition: 'left',
64
+ labelClasses: 'col-sm-2 ps-0 pe-1',
65
+ controlClasses: 'col-sm-10',
66
+ addButtonLabel: 'Add new identifier',
67
+ addDefaultItemIfEmpty: false,
68
+ showFields: [
69
+ {field: 'value', col: 4, nolabel: true},
70
+ {field: 'system', col: 4, nolabel: true},
71
+ {field: 'use', col: 3, nolabel: true}
72
+ ]
73
+ },
74
+ dateTime: {
75
+ id: 'datetime',
76
+ labelPosition: 'left',
77
+ labelClasses: 'col-sm-2 ps-0 pe-1',
78
+ controlClasses: 'col-sm-3',
79
+ placeholder: 'yyyy-MM-dd hh:mm:ss (AM|PM)'
80
+ }
81
+ },
82
+
83
+ widgetsMap: {
84
+ useSelect: [
85
+ '$.properties.use'
86
+ ],
87
+ url: [
88
+ '$.properties.system'
89
+ ],
90
+ string: [
91
+ '$.properties.value',
92
+ '$.properties.type.properties.text',
93
+ '$.properties.assigner.properties.display',
94
+ '$.properties.assigner.properties.reference',
95
+ '$.properties.assigner.properties.type'
96
+ ],
97
+ typeObject: [
98
+ '$.properties.type'
99
+ ],
100
+ codingTable: [
101
+ '$.properties.type.properties.coding'
102
+ ],
103
+ dateRange: [
104
+ '$.properties.period'
105
+ ],
106
+ assignerObject: [
107
+ '$.properties.assigner'
108
+ ],
109
+ identifierTable: [
110
+ '$.properties.assigner.properties.identifier'
111
+ ],
112
+ dateTime: [
113
+ '$.properties.period.properties.start',
114
+ '$.properties.period.properties.end'
115
+ ]
116
+ }
117
+ }
@@ -316,8 +316,7 @@
316
316
  "additionalProperties": false,
317
317
  "type": "object"
318
318
  },
319
- "type": "array",
320
- "title": "Identifier"
319
+ "type": "array"
321
320
  },
322
321
  "version": {
323
322
  "description": "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 might 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.",
@@ -901,7 +900,8 @@
901
900
  "<",
902
901
  "<=",
903
902
  ">=",
904
- ">"
903
+ ">",
904
+ "ad"
905
905
  ],
906
906
  "type": "string"
907
907
  },
@@ -1086,6 +1086,16 @@
1086
1086
  },
1087
1087
  "additionalProperties": false,
1088
1088
  "type": "object"
1089
+ },
1090
+ "__$valueSummary": {
1091
+ "description": "Generated summary of the selected UsageContext value.",
1092
+ "title": "Value",
1093
+ "pattern": "^[ \\r\\n\\t\\S]+$",
1094
+ "type": "string",
1095
+ "widget": {
1096
+ "id": "string",
1097
+ "tooltipFormat": "json"
1098
+ }
1089
1099
  }
1090
1100
  },
1091
1101
  "additionalProperties": false,
@@ -1095,7 +1105,7 @@
1095
1105
  "type": "object"
1096
1106
  },
1097
1107
  "type": "array",
1098
- "title": "Use context"
1108
+ "title": "Usage Context"
1099
1109
  },
1100
1110
  "jurisdiction": {
1101
1111
  "description": "A legal or geographic region in which the questionnaire is intended to be used.",
@@ -180,7 +180,7 @@
180
180
  "$ref": "#/definitions/UsageContext"
181
181
  },
182
182
  "type": "array",
183
- "title": "Use context"
183
+ "title": "Usage Context"
184
184
  },
185
185
  "jurisdiction": {
186
186
  "description": "A legal or geographic region in which the value set is intended to be used.",
@@ -0,0 +1,95 @@
1
+ {
2
+ // Presets are opt-in. Feature layouts map their local widget names to these
3
+ // deliberately scoped names through widgetPresetMap.
4
+ presets: {
5
+ dialogStringField: {
6
+ id: 'string',
7
+ labelPosition: 'left',
8
+ labelClasses: 'col-sm-2 m-0 px-1',
9
+ controlClasses: 'col-sm-10 m-0 p-0'
10
+ },
11
+ dialogNumberField: {
12
+ id: 'number',
13
+ labelPosition: 'left',
14
+ labelClasses: 'col-sm-2 m-0 px-1',
15
+ controlClasses: 'col-sm-10 m-0 p-0'
16
+ },
17
+ dialogDateRangeField: {
18
+ id: 'date-range',
19
+ labelPosition: 'left',
20
+ labelClasses: 'col-sm-2 m-0 px-1',
21
+ controlClasses: 'col-sm-6',
22
+ showFields: [
23
+ {field: 'start', col: 6},
24
+ {field: 'end', col: 6}
25
+ ]
26
+ },
27
+ dialogCodingTable: {
28
+ id: 'table',
29
+ labelPosition: 'left',
30
+ labelClasses: 'col-sm-2 ps-0 pe-1',
31
+ controlClasses: 'col-sm-10',
32
+ addButtonLabel: 'Add coding',
33
+ showFields: [
34
+ {field: 'display', col: 4, nolabel: true},
35
+ {field: 'code', col: 3, nolabel: true},
36
+ {field: 'system', col: 4, nolabel: true}
37
+ ]
38
+ },
39
+ dialogCodeableConceptObject: {
40
+ id: 'lfb-object',
41
+ labelPosition: 'left',
42
+ labelClasses: 'col-sm-2 ps-0 pe-1',
43
+ controlClasses: 'col-sm-10',
44
+ objectBodyClasses: 'shadow rounded p-1 mb-1',
45
+ showFields: [
46
+ {field: 'text', col: 12},
47
+ {field: 'coding', col: 12}
48
+ ]
49
+ },
50
+ dialogReferenceObject: {
51
+ id: 'lfb-object',
52
+ labelPosition: 'left',
53
+ labelClasses: 'col-sm-2 ps-0 pe-1',
54
+ controlClasses: 'col-sm-10',
55
+ objectBodyClasses: 'shadow rounded p-1 mb-1',
56
+ showFields: [
57
+ {field: 'display', col: 12},
58
+ {field: 'reference', col: 12},
59
+ {field: 'type', col: 12},
60
+ {field: 'identifier', col: 12}
61
+ ]
62
+ },
63
+ formStringField: {
64
+ id: 'string',
65
+ labelPosition: 'left',
66
+ labelClasses: 'col-sm-2 m-0 ps-0 pe-1',
67
+ controlClasses: 'col-sm-10 m-0 p-0'
68
+ },
69
+ formTextareaField: {
70
+ id: 'textarea',
71
+ labelPosition: 'left',
72
+ labelClasses: 'col-sm-2 m-0 ps-0 pe-1',
73
+ controlClasses: 'col-sm-10 m-0 p-0'
74
+ },
75
+ formInstantField: {
76
+ id: 'instant',
77
+ labelPosition: 'left',
78
+ labelClasses: 'col-sm-2 m-0 ps-0 pe-1',
79
+ controlClasses: 'col-sm-3',
80
+ placeholder: 'yyyy-MM-dd hh:mm:ss (AM|PM)'
81
+ },
82
+ formPositiveIntegerField: {
83
+ id: 'positive-integer',
84
+ labelPosition: 'left',
85
+ labelClasses: 'col-sm-2 m-0 ps-0 pe-1',
86
+ controlClasses: 'col-sm-10 m-0 p-0'
87
+ },
88
+ formUnsignedIntegerField: {
89
+ id: 'unsigned-integer',
90
+ labelPosition: 'left',
91
+ labelClasses: 'col-sm-2 m-0 ps-0 pe-1',
92
+ controlClasses: 'col-sm-10 m-0 p-0'
93
+ }
94
+ }
95
+ }
@@ -0,0 +1,208 @@
1
+ {
2
+ formLayout: {
3
+ targetPage: 'usageContextDialog',
4
+ basic: [
5
+ {
6
+ showFields: [
7
+ {field: 'code', col: 12},
8
+ {field: '__$valueType', col: 12},
9
+ {field: 'valueCodeableConcept', col: 12},
10
+ {field: 'valueQuantity', col: 12},
11
+ {field: 'valueRange', col: 12},
12
+ {field: 'valueReference', col: 12}
13
+ ]
14
+ }
15
+ ],
16
+ advanced: []
17
+ },
18
+
19
+ overridePropertyLabels: {
20
+ '$.properties.code': 'Code',
21
+ '$.properties.code.properties.display': 'Display',
22
+ '$.properties.code.properties.code': 'Code',
23
+ '$.properties.code.properties.system': 'System',
24
+ '$.properties.__$valueType': 'Value',
25
+ '$.properties.valueCodeableConcept': 'Value codeable concept',
26
+ '$.properties.valueCodeableConcept.properties.text': 'Text',
27
+ '$.properties.valueCodeableConcept.properties.coding': 'Coding',
28
+ '$.properties.valueCodeableConcept.properties.coding.items.properties.display': 'Display',
29
+ '$.properties.valueCodeableConcept.properties.coding.items.properties.code': 'Code',
30
+ '$.properties.valueCodeableConcept.properties.coding.items.properties.system': 'System',
31
+ '$.properties.valueQuantity': 'Value quantity',
32
+ '$.properties.valueQuantity.properties.value': 'Value',
33
+ '$.properties.valueQuantity.properties.comparator': 'Comparator',
34
+ '$.properties.valueQuantity.properties.unit': 'Unit',
35
+ '$.properties.valueQuantity.properties.system': 'System',
36
+ '$.properties.valueQuantity.properties.code': 'Code',
37
+ '$.properties.valueRange': 'Value range',
38
+ '$.properties.valueRange.properties.low': 'Low',
39
+ '$.properties.valueRange.properties.low.properties.value': 'Value',
40
+ '$.properties.valueRange.properties.low.properties.unit': 'Unit',
41
+ '$.properties.valueRange.properties.low.properties.system': 'System',
42
+ '$.properties.valueRange.properties.low.properties.code': 'Code',
43
+ '$.properties.valueRange.properties.high': 'High',
44
+ '$.properties.valueRange.properties.high.properties.value': 'Value',
45
+ '$.properties.valueRange.properties.high.properties.unit': 'Unit',
46
+ '$.properties.valueRange.properties.high.properties.system': 'System',
47
+ '$.properties.valueRange.properties.high.properties.code': 'Code',
48
+ '$.properties.valueReference': 'Value reference',
49
+ '$.properties.valueReference.properties.display': 'Display',
50
+ '$.properties.valueReference.properties.reference': 'Reference',
51
+ '$.properties.valueReference.properties.type': 'Type',
52
+ '$.properties.valueReference.properties.identifier': 'Identifier'
53
+ },
54
+
55
+ widgetPresetMap: {
56
+ number: 'dialogNumberField',
57
+ codingTable: 'dialogCodingTable',
58
+ codeableConceptObject: 'dialogCodeableConceptObject',
59
+ referenceObject: 'dialogReferenceObject'
60
+ },
61
+
62
+ widgets: {
63
+ string: {
64
+ id: 'string',
65
+ labelPosition: 'left',
66
+ labelClasses: 'col-sm-2 m-0 px-1',
67
+ controlClasses: 'col-sm-10 m-0'
68
+ },
69
+ url: {
70
+ id: 'url',
71
+ labelPosition: 'left',
72
+ labelClasses: 'col-sm-2 m-0 px-1',
73
+ controlClasses: 'col-sm-10 m-0'
74
+ },
75
+ valueTypeSelect: {
76
+ id: 'select',
77
+ labelPosition: 'left',
78
+ labelClasses: 'col-sm-2 ps-0 pe-1',
79
+ controlClasses: 'col-sm-10 m-0 p-0',
80
+ suppressEmptyInvalidStyle: true,
81
+ selectOptionsMap: {
82
+ map: {
83
+ valueCodeableConcept: 'Codeable concept',
84
+ valueQuantity: 'Quantity',
85
+ valueRange: 'Range',
86
+ valueReference: 'Reference'
87
+ }
88
+ }
89
+ },
90
+ comparatorSelect: {
91
+ id: 'select',
92
+ labelPosition: 'left',
93
+ labelClasses: 'col-sm-2 m-0 px-1',
94
+ controlClasses: 'col-sm-10 m-0 p-0',
95
+ suppressEmptyInvalidStyle: true,
96
+ addEmptyOption: true
97
+ },
98
+ object: {
99
+ id: 'lfb-object',
100
+ labelPosition: 'left',
101
+ labelClasses: 'col-sm-2 ps-0 pe-1',
102
+ controlClasses: 'col-sm-10',
103
+ objectBodyClasses: 'shadow rounded p-1 mb-1'
104
+ },
105
+ codeObject: {
106
+ id: 'usage-context-code',
107
+ labelClasses: 'col-sm-2 ps-0 pe-1',
108
+ objectBodyClasses: 'col-sm-10 shadow rounded p-1 mb-1'
109
+ },
110
+ quantityObject: {
111
+ id: 'lfb-object',
112
+ labelPosition: 'left',
113
+ labelClasses: 'col-sm-2 ps-0 pe-1',
114
+ controlClasses: 'col-sm-10',
115
+ objectBodyClasses: 'shadow rounded p-1 mb-1',
116
+ showFields: [
117
+ {field: 'value', col: 12},
118
+ {field: 'comparator', col: 12},
119
+ {field: 'unit', col: 12},
120
+ {field: 'system', col: 12},
121
+ {field: 'code', col: 12}
122
+ ]
123
+ },
124
+ simpleQuantityObject: {
125
+ id: 'lfb-object',
126
+ labelPosition: 'left',
127
+ labelClasses: 'col-sm-2 ps-0 pe-1',
128
+ controlClasses: 'col-sm-10',
129
+ objectBodyClasses: 'shadow rounded p-1 mb-1',
130
+ showFields: [
131
+ {field: 'value', col: 12},
132
+ {field: 'unit', col: 12},
133
+ {field: 'system', col: 12},
134
+ {field: 'code', col: 12}
135
+ ]
136
+ },
137
+ rangeObject: {
138
+ id: 'lfb-object',
139
+ labelPosition: 'left',
140
+ labelClasses: 'col-sm-2 ps-0 pe-1',
141
+ controlClasses: 'col-sm-10',
142
+ objectBodyClasses: 'shadow rounded p-1 mb-1',
143
+ showFields: [
144
+ {field: 'low', col: 12},
145
+ {field: 'high', col: 12}
146
+ ]
147
+ },
148
+ },
149
+
150
+ widgetsMap: {
151
+ valueTypeSelect: [
152
+ '$.properties.__$valueType'
153
+ ],
154
+ comparatorSelect: [
155
+ '$.properties.valueQuantity.properties.comparator'
156
+ ],
157
+ string: [
158
+ '$.properties.code.properties.display',
159
+ '$.properties.code.properties.code',
160
+ '$.properties.valueCodeableConcept.properties.text',
161
+ '$.properties.valueCodeableConcept.properties.coding.items.properties.display',
162
+ '$.properties.valueCodeableConcept.properties.coding.items.properties.code',
163
+ '$.properties.valueQuantity.properties.unit',
164
+ '$.properties.valueQuantity.properties.code',
165
+ '$.properties.valueRange.properties.low.properties.unit',
166
+ '$.properties.valueRange.properties.low.properties.code',
167
+ '$.properties.valueRange.properties.high.properties.unit',
168
+ '$.properties.valueRange.properties.high.properties.code',
169
+ '$.properties.valueReference.properties.display',
170
+ '$.properties.valueReference.properties.reference',
171
+ '$.properties.valueReference.properties.type'
172
+ ],
173
+ url: [
174
+ '$.properties.code.properties.system',
175
+ '$.properties.valueCodeableConcept.properties.coding.items.properties.system',
176
+ '$.properties.valueQuantity.properties.system',
177
+ '$.properties.valueRange.properties.low.properties.system',
178
+ '$.properties.valueRange.properties.high.properties.system'
179
+ ],
180
+ number: [
181
+ '$.properties.valueQuantity.properties.value',
182
+ '$.properties.valueRange.properties.low.properties.value',
183
+ '$.properties.valueRange.properties.high.properties.value'
184
+ ],
185
+ codeObject: [
186
+ '$.properties.code'
187
+ ],
188
+ codeableConceptObject: [
189
+ '$.properties.valueCodeableConcept'
190
+ ],
191
+ codingTable: [
192
+ '$.properties.valueCodeableConcept.properties.coding'
193
+ ],
194
+ quantityObject: [
195
+ '$.properties.valueQuantity'
196
+ ],
197
+ simpleQuantityObject: [
198
+ '$.properties.valueRange.properties.low',
199
+ '$.properties.valueRange.properties.high'
200
+ ],
201
+ rangeObject: [
202
+ '$.properties.valueRange'
203
+ ],
204
+ referenceObject: [
205
+ '$.properties.valueReference'
206
+ ]
207
+ }
208
+ }