@f1studio/form-spec 5.0.0-alpha.111 → 5.0.0-alpha.112
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.
- package/FormSpec.FS/BitmaskHelpers.d.ts +23 -0
- package/FormSpec.FS/BitmaskHelpers.d.ts.map +1 -0
- package/FormSpec.FS/BlueprintValidation.d.ts +16 -0
- package/FormSpec.FS/BlueprintValidation.d.ts.map +1 -0
- package/FormSpec.FS/FormSpec.d.ts +19 -5
- package/FormSpec.FS/FormSpec.d.ts.map +1 -1
- package/FormSpec.FS/FormSpecHelpers.d.ts +4 -0
- package/FormSpec.FS/FormSpecHelpers.d.ts.map +1 -1
- package/FormSpec.FS/FormSpecValues.d.ts +5 -0
- package/FormSpec.FS/FormSpecValues.d.ts.map +1 -1
- package/FormSpec.FS/Helpers.d.ts.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.d.ts +13 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.d.ts +22 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.d.ts +22 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.d.ts +130 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.d.ts +37 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.d.ts +231 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.d.ts +10 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.d.ts +55 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.d.ts +69 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.d.ts +21 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.d.ts +133 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.d.ts +52 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.d.ts +46 -0
- package/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.d.ts +4 -0
- package/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.d.ts +36 -0
- package/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/CorEMR/CorEmrTemplates.d.ts +95 -0
- package/FormSpec.FS/Integrations/CorEMR/CorEmrTemplates.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.d.ts +449 -0
- package/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.d.ts.map +1 -0
- package/FormSpec.FS/Interop/FormSpec.Api.Helpers.d.ts.map +1 -1
- package/FormSpec.FS/Interop/FormSpec.Api.Option.d.ts +3 -1
- package/FormSpec.FS/Interop/FormSpec.Api.Option.d.ts.map +1 -1
- package/FormSpec.FS/Provenance.d.ts +10 -0
- package/FormSpec.FS/Provenance.d.ts.map +1 -0
- package/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.d.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/BitmaskHelpers.js +56 -0
- package/FormSpec.TS/FormSpec.FS/BitmaskHelpers.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/BitmaskHelpers.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/BlueprintValidation.js +116 -0
- package/FormSpec.TS/FormSpec.FS/BlueprintValidation.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/BlueprintValidation.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Designer.js +2 -2
- package/FormSpec.TS/FormSpec.FS/Designer.js.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Designer.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/FormSpec.js +72 -3
- package/FormSpec.TS/FormSpec.FS/FormSpec.js.map +1 -1
- package/FormSpec.TS/FormSpec.FS/FormSpec.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.js +201 -3
- package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.js.map +1 -1
- package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/FormSpecValues.js +38 -3
- package/FormSpec.TS/FormSpec.FS/FormSpecValues.js.map +1 -1
- package/FormSpec.TS/FormSpec.FS/FormSpecValues.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Helpers.js +44 -27
- package/FormSpec.TS/FormSpec.FS/Helpers.js.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Helpers.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.js +45 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.js +145 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js +139 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js +801 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.js +121 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.js +1380 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.js +29 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js +172 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.js +406 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js +317 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js +622 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js +448 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.js +198 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.js +57 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.js +144 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/CorEmrTemplates.js +258 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/CorEmrTemplates.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/CorEmrTemplates.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.js +1768 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.js +22 -18
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js +18 -6
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/PathwayExecutor.js +1 -1
- package/FormSpec.TS/FormSpec.FS/Provenance.js +41 -0
- package/FormSpec.TS/FormSpec.FS/Provenance.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Provenance.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.js +36 -13
- package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.js.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.ts.map +1 -1
- package/FormSpec.TS/FormSpec.FS/Renderers/PathwayRenderers.js +1 -1
- package/FormSpec.TS/PathwayExecutor.withPlugins.js +0 -5
- package/FormSpec.TS/PathwayExecutor.withPlugins.js.map +1 -1
- package/FormSpec.TS/PluginRegistration.js +2 -0
- package/FormSpec.TS/PluginRegistration.js.map +1 -1
- package/FormSpec.TS/PluginRegistration.ts.map +1 -1
- package/FormSpec.TS/fable_modules/project_cracked.json +1 -1
- package/FormSpec.TS/plugins/demographics/src/DemographicsField.js +918 -0
- package/FormSpec.TS/plugins/demographics/src/DemographicsField.js.map +1 -0
- package/FormSpec.TS/plugins/demographics/src/DemographicsField.ts.map +1 -0
- package/FormSpec.TS/plugins/likert/src/LikertField.js +1 -1
- package/PathwayExecutor.withPlugins.d.ts +0 -5
- package/PathwayExecutor.withPlugins.d.ts.map +1 -1
- package/README.md +7 -7
- package/fable_modules/Thoth.Json.10.4.1/Extra.fs.d.ts +3 -0
- package/fable_modules/Thoth.Json.10.4.1/Extra.fs.d.ts.map +1 -0
- package/package.json +4 -4
- package/plugins/demographics/src/DemographicsField.d.ts +104 -0
- package/plugins/demographics/src/DemographicsField.d.ts.map +1 -0
- package/src/FormSpec.FS/BitmaskHelpers.ts +52 -0
- package/src/FormSpec.FS/BlueprintValidation.ts +108 -0
- package/src/FormSpec.FS/Designer.ts +2 -2
- package/src/FormSpec.FS/FormSpec.ts +39 -8
- package/src/FormSpec.FS/FormSpecHelpers.ts +190 -12
- package/src/FormSpec.FS/FormSpecValues.ts +42 -3
- package/src/FormSpec.FS/Helpers.ts +44 -27
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.ts +37 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.ts +103 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.ts +129 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.ts +490 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.ts +87 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.ts +1046 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.ts +26 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.ts +161 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.ts +386 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.ts +320 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.ts +371 -0
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.ts +372 -0
- package/src/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.ts +92 -0
- package/src/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.ts +51 -0
- package/src/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.ts +71 -0
- package/src/FormSpec.FS/Integrations/CorEMR/CorEmrTemplates.ts +15 -0
- package/src/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.ts +825 -0
- package/src/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts +19 -15
- package/src/FormSpec.FS/Interop/FormSpec.Api.Option.ts +13 -7
- package/src/FormSpec.FS/PathwayExecutor.ts +1 -1
- package/src/FormSpec.FS/Provenance.ts +19 -0
- package/src/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.ts +32 -12
- package/src/FormSpec.FS/Renderers/PathwayRenderers.ts +1 -1
- package/src/PathwayExecutor.withPlugins.ts +0 -5
- package/src/PluginRegistration.ts +2 -0
- package/src/plugins/demographics/src/DemographicsField.ts +502 -0
- package/src/plugins/likert/src/LikertField.ts +1 -1
|
@@ -175,6 +175,8 @@ export function Helpers_FieldTypeUtils_getFieldTypeName(fieldType: any): string
|
|
|
175
175
|
if (fieldType instanceof Spec_FieldType) {
|
|
176
176
|
const ft = fieldType as Spec_FieldType_$union;
|
|
177
177
|
switch (ft.tag) {
|
|
178
|
+
case /* Text */ 0:
|
|
179
|
+
return "Text";
|
|
178
180
|
case /* TextArea */ 1:
|
|
179
181
|
return "TextArea";
|
|
180
182
|
case /* Email */ 2:
|
|
@@ -217,10 +219,10 @@ export function Helpers_FieldTypeUtils_getFieldTypeName(fieldType: any): string
|
|
|
217
219
|
return "Signature";
|
|
218
220
|
case /* Message */ 21:
|
|
219
221
|
return "Message";
|
|
220
|
-
case /* PluginField */
|
|
222
|
+
case /* PluginField */ 23:
|
|
221
223
|
return `PluginField(${ft.fields[0].PluginId})`;
|
|
222
224
|
default:
|
|
223
|
-
|
|
225
|
+
throw new Error("Match failure: F1.Studio.Spec.FieldType");
|
|
224
226
|
}
|
|
225
227
|
}
|
|
226
228
|
else {
|
|
@@ -341,8 +343,8 @@ export function Helpers_FieldTypeUtils_fieldTypesMatchByCaseName(fieldType1: any
|
|
|
341
343
|
}
|
|
342
344
|
break;
|
|
343
345
|
}
|
|
344
|
-
case /* PluginField */
|
|
345
|
-
if (ft2!.tag === /* PluginField */
|
|
346
|
+
case /* PluginField */ 23: {
|
|
347
|
+
if (ft2!.tag === /* PluginField */ 23) {
|
|
346
348
|
if (ft1!.fields[0].PluginId === ft2!.fields[0].PluginId) {
|
|
347
349
|
matchResult_1 = 10;
|
|
348
350
|
cfg1_1 = ft1!.fields[0];
|
|
@@ -411,7 +413,7 @@ export function Helpers_FormSpecMutators_updateFormFieldInFormSpecStep<UserField
|
|
|
411
413
|
else {
|
|
412
414
|
return s;
|
|
413
415
|
}
|
|
414
|
-
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
416
|
+
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
415
417
|
}
|
|
416
418
|
|
|
417
419
|
/**
|
|
@@ -425,7 +427,7 @@ export function Helpers_FormSpecMutators_updateFormStepInFormSpec<UserField>(for
|
|
|
425
427
|
else {
|
|
426
428
|
return s;
|
|
427
429
|
}
|
|
428
|
-
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
430
|
+
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
429
431
|
}
|
|
430
432
|
|
|
431
433
|
/**
|
|
@@ -440,7 +442,7 @@ export function Helpers_FormSpecMutators_addFormFieldToStep<UserField>(formStep:
|
|
|
440
442
|
else {
|
|
441
443
|
return s;
|
|
442
444
|
}
|
|
443
|
-
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
445
|
+
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
444
446
|
}
|
|
445
447
|
|
|
446
448
|
/**
|
|
@@ -449,19 +451,19 @@ export function Helpers_FormSpecMutators_addFormFieldToStep<UserField>(formStep:
|
|
|
449
451
|
export function Helpers_FormSpecMutators_removeFormFieldFromFormSpec<UserField>(formStepOrder: int32, formField: Spec_FormField$1<UserField>, formSpec: Spec_FormSpec$1<UserField>): Spec_FormSpec$1<UserField> {
|
|
450
452
|
return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, map_1<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => {
|
|
451
453
|
if (s.StepOrder === formStepOrder) {
|
|
452
|
-
return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((i: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(i + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType, f_1.Value)), filter<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => (f.FieldOrder !== formField.FieldOrder), s.Fields)));
|
|
454
|
+
return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((i: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(i + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.NeedsDocumentation, f_1.Documentation, f_1.FieldType, f_1.Value)), filter<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => (f.FieldOrder !== formField.FieldOrder), s.Fields)));
|
|
453
455
|
}
|
|
454
456
|
else {
|
|
455
457
|
return s;
|
|
456
458
|
}
|
|
457
|
-
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
459
|
+
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
458
460
|
}
|
|
459
461
|
|
|
460
462
|
/**
|
|
461
463
|
* Inserts a form field at a specific position within a step.
|
|
462
464
|
*/
|
|
463
465
|
export function Helpers_FormSpecMutators_insertFormFieldToStepAt<UserField>(formStep: Spec_FormStep$1<UserField>, newPositionFieldOrder: int32, fieldKey: Shared_FieldKey): FSharpList<Spec_FormField$1<UserField>> {
|
|
464
|
-
return mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index_1: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index_1 + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType, f_1.Value)), insertAt<Spec_FormField$1<UserField>>(newPositionFieldOrder - 1, find<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => equals(f.FieldKey, fieldKey), formStep.Fields), formStep.Fields));
|
|
466
|
+
return mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index_1: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index_1 + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.NeedsDocumentation, f_1.Documentation, f_1.FieldType, f_1.Value)), insertAt<Spec_FormField$1<UserField>>(newPositionFieldOrder - 1, find<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => equals(f.FieldKey, fieldKey), formStep.Fields), formStep.Fields));
|
|
465
467
|
}
|
|
466
468
|
|
|
467
469
|
/**
|
|
@@ -470,12 +472,12 @@ export function Helpers_FormSpecMutators_insertFormFieldToStepAt<UserField>(form
|
|
|
470
472
|
export function Helpers_FormSpecMutators_moveFormFieldUpInFormSpec<UserField>(formStepOrder: int32, formField: Spec_FormField$1<UserField>, formSpec: Spec_FormSpec$1<UserField>): Spec_FormSpec$1<UserField> {
|
|
471
473
|
return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, map_1<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => {
|
|
472
474
|
if (s.StepOrder === formStepOrder) {
|
|
473
|
-
return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index: int32, f_2: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index + 1, f_2.FieldKey, f_2.Label, f_2.Notes, f_2.DependsOn, f_2.IsOptional, f_2.IsDeprecated, f_2.FieldType, f_2.Value)), sortBy<Spec_FormField$1<UserField>, int32>((f_1: Spec_FormField$1<UserField>): int32 => f_1.FieldOrder, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => {
|
|
475
|
+
return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index: int32, f_2: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index + 1, f_2.FieldKey, f_2.Label, f_2.Notes, f_2.DependsOn, f_2.IsOptional, f_2.IsDeprecated, f_2.NeedsDocumentation, f_2.Documentation, f_2.FieldType, f_2.Value)), sortBy<Spec_FormField$1<UserField>, int32>((f_1: Spec_FormField$1<UserField>): int32 => f_1.FieldOrder, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => {
|
|
474
476
|
if (f.FieldOrder === formField.FieldOrder) {
|
|
475
|
-
return new Spec_FormField$1(formField.FieldOrder - 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType, f.Value);
|
|
477
|
+
return new Spec_FormField$1(formField.FieldOrder - 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.NeedsDocumentation, f.Documentation, f.FieldType, f.Value);
|
|
476
478
|
}
|
|
477
479
|
else if (f.FieldOrder === (formField.FieldOrder - 1)) {
|
|
478
|
-
return new Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType, f.Value);
|
|
480
|
+
return new Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.NeedsDocumentation, f.Documentation, f.FieldType, f.Value);
|
|
479
481
|
}
|
|
480
482
|
else {
|
|
481
483
|
return f;
|
|
@@ -487,7 +489,7 @@ export function Helpers_FormSpecMutators_moveFormFieldUpInFormSpec<UserField>(fo
|
|
|
487
489
|
else {
|
|
488
490
|
return s;
|
|
489
491
|
}
|
|
490
|
-
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
492
|
+
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
491
493
|
}
|
|
492
494
|
|
|
493
495
|
/**
|
|
@@ -496,12 +498,12 @@ export function Helpers_FormSpecMutators_moveFormFieldUpInFormSpec<UserField>(fo
|
|
|
496
498
|
export function Helpers_FormSpecMutators_moveFormFieldDownInFormSpec<UserField>(formStepOrder: int32, formField: Spec_FormField$1<UserField>, formSpec: Spec_FormSpec$1<UserField>): Spec_FormSpec$1<UserField> {
|
|
497
499
|
return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, map_1<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => {
|
|
498
500
|
if (s.StepOrder === formStepOrder) {
|
|
499
|
-
return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index: int32, f_2: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index + 1, f_2.FieldKey, f_2.Label, f_2.Notes, f_2.DependsOn, f_2.IsOptional, f_2.IsDeprecated, f_2.FieldType, f_2.Value)), sortBy<Spec_FormField$1<UserField>, int32>((f_1: Spec_FormField$1<UserField>): int32 => f_1.FieldOrder, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => {
|
|
501
|
+
return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index: int32, f_2: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index + 1, f_2.FieldKey, f_2.Label, f_2.Notes, f_2.DependsOn, f_2.IsOptional, f_2.IsDeprecated, f_2.NeedsDocumentation, f_2.Documentation, f_2.FieldType, f_2.Value)), sortBy<Spec_FormField$1<UserField>, int32>((f_1: Spec_FormField$1<UserField>): int32 => f_1.FieldOrder, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => {
|
|
500
502
|
if (f.FieldOrder === formField.FieldOrder) {
|
|
501
|
-
return new Spec_FormField$1(formField.FieldOrder + 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType, f.Value);
|
|
503
|
+
return new Spec_FormField$1(formField.FieldOrder + 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.NeedsDocumentation, f.Documentation, f.FieldType, f.Value);
|
|
502
504
|
}
|
|
503
505
|
else if (f.FieldOrder === (formField.FieldOrder + 1)) {
|
|
504
|
-
return new Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType, f.Value);
|
|
506
|
+
return new Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.NeedsDocumentation, f.Documentation, f.FieldType, f.Value);
|
|
505
507
|
}
|
|
506
508
|
else {
|
|
507
509
|
return f;
|
|
@@ -513,7 +515,7 @@ export function Helpers_FormSpecMutators_moveFormFieldDownInFormSpec<UserField>(
|
|
|
513
515
|
else {
|
|
514
516
|
return s;
|
|
515
517
|
}
|
|
516
|
-
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
518
|
+
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
517
519
|
}
|
|
518
520
|
|
|
519
521
|
/**
|
|
@@ -525,7 +527,7 @@ export function Helpers_FormSpecMutators_moveFieldByKeyToPositionInFormStepSpec<
|
|
|
525
527
|
const formStep_1: Spec_FormStep$1<UserField> = value_1(formStep);
|
|
526
528
|
return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, map_1<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => {
|
|
527
529
|
if (s.StepOrder === formStep_1.StepOrder) {
|
|
528
|
-
return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index_1: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index_1 + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType, f_1.Value)), List_distinct<Spec_FormField$1<UserField>>(insertAt<Spec_FormField$1<UserField>>(newPositionFieldOrder - 1, find<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => equals(f.FieldKey, fieldKey), s.Fields), s.Fields), {
|
|
530
|
+
return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index_1: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index_1 + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.NeedsDocumentation, f_1.Documentation, f_1.FieldType, f_1.Value)), List_distinct<Spec_FormField$1<UserField>>(insertAt<Spec_FormField$1<UserField>>(newPositionFieldOrder - 1, find<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => equals(f.FieldKey, fieldKey), s.Fields), s.Fields), {
|
|
529
531
|
Equals: equals,
|
|
530
532
|
GetHashCode: safeHash,
|
|
531
533
|
})));
|
|
@@ -533,7 +535,7 @@ export function Helpers_FormSpecMutators_moveFieldByKeyToPositionInFormStepSpec<
|
|
|
533
535
|
else {
|
|
534
536
|
return s;
|
|
535
537
|
}
|
|
536
|
-
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
538
|
+
}, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
537
539
|
}
|
|
538
540
|
else {
|
|
539
541
|
return formSpec;
|
|
@@ -556,7 +558,7 @@ export function Helpers_FormSpecMutators_moveFormStepUpInFormSpec<UserField>(for
|
|
|
556
558
|
}
|
|
557
559
|
}, formSpec.Steps), {
|
|
558
560
|
Compare: comparePrimitives,
|
|
559
|
-
})), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
561
|
+
})), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
560
562
|
}
|
|
561
563
|
|
|
562
564
|
/**
|
|
@@ -575,14 +577,14 @@ export function Helpers_FormSpecMutators_moveFormStepDownInFormSpec<UserField>(f
|
|
|
575
577
|
}
|
|
576
578
|
}, formSpec.Steps), {
|
|
577
579
|
Compare: comparePrimitives,
|
|
578
|
-
})), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
580
|
+
})), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
579
581
|
}
|
|
580
582
|
|
|
581
583
|
/**
|
|
582
584
|
* Removes a form step from a FormSpec.
|
|
583
585
|
*/
|
|
584
586
|
export function Helpers_FormSpecMutators_removeFormStepFromFormSpec<UserField>(formStepOrder: int32, formSpec: Spec_FormSpec$1<UserField>): Spec_FormSpec$1<UserField> {
|
|
585
|
-
return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, mapIndexed<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((i: int32, s_1: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => (new Spec_FormStep$1(i + 1, s_1.StepLabel, s_1.Fields)), filter<Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): boolean => (s.StepOrder !== formStepOrder), formSpec.Steps)), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
587
|
+
return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, mapIndexed<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((i: int32, s_1: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => (new Spec_FormStep$1(i + 1, s_1.StepLabel, s_1.Fields)), filter<Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): boolean => (s.StepOrder !== formStepOrder), formSpec.Steps)), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
586
588
|
}
|
|
587
589
|
|
|
588
590
|
/**
|
|
@@ -597,7 +599,7 @@ export function Helpers_FormSpecTransformers_flattenSpecSteps<UserField>(formSpe
|
|
|
597
599
|
if (!isEmpty(steps)) {
|
|
598
600
|
const step: Spec_FormStep$1<UserField> = head(steps);
|
|
599
601
|
steps_mut = tail(steps);
|
|
600
|
-
acc_mut = append(acc, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((field: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1((step.StepOrder * 1000) + field.FieldOrder, field.FieldKey, field.Label, field.Notes, field.DependsOn, field.IsOptional, field.IsDeprecated, field.FieldType, field.Value)), step.Fields));
|
|
602
|
+
acc_mut = append(acc, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((field: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1((step.StepOrder * 1000) + field.FieldOrder, field.FieldKey, field.Label, field.Notes, field.DependsOn, field.IsOptional, field.IsDeprecated, field.NeedsDocumentation, field.Documentation, field.FieldType, field.Value)), step.Fields));
|
|
601
603
|
continue flatten;
|
|
602
604
|
}
|
|
603
605
|
else {
|
|
@@ -606,7 +608,7 @@ export function Helpers_FormSpecTransformers_flattenSpecSteps<UserField>(formSpe
|
|
|
606
608
|
break;
|
|
607
609
|
}
|
|
608
610
|
};
|
|
609
|
-
return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, singleton(new Spec_FormStep$1(1, "Complete Form", flatten(formSpec.Steps, empty<Spec_FormField$1<UserField>>()))), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
|
|
611
|
+
return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, singleton(new Spec_FormStep$1(1, "Complete Form", flatten(formSpec.Steps, empty<Spec_FormField$1<UserField>>()))), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta, formSpec.CustomData, formSpec.Provenance);
|
|
610
612
|
}
|
|
611
613
|
|
|
612
614
|
/**
|
|
@@ -630,7 +632,22 @@ export function Helpers_specFieldOptionsToValueOptions(options: FSharpList<Share
|
|
|
630
632
|
export function Helpers_optionsFromSpecField(field: Spec_FormField$1<Spec_FieldType_$union>): FSharpList<Shared_FieldOption> {
|
|
631
633
|
const matchValue: Spec_FieldType_$union = field.FieldType;
|
|
632
634
|
switch (matchValue.tag) {
|
|
633
|
-
case /*
|
|
635
|
+
case /* Checkbox */ 11:
|
|
636
|
+
case /* Email */ 2:
|
|
637
|
+
case /* Password */ 3:
|
|
638
|
+
case /* Search */ 4:
|
|
639
|
+
case /* Color */ 5:
|
|
640
|
+
case /* Number */ 6:
|
|
641
|
+
case /* Tel */ 7:
|
|
642
|
+
case /* Text */ 0:
|
|
643
|
+
case /* TextArea */ 1:
|
|
644
|
+
case /* Date */ 8:
|
|
645
|
+
case /* DateTimeLocal */ 9:
|
|
646
|
+
case /* Time */ 10:
|
|
647
|
+
case /* Message */ 21:
|
|
648
|
+
case /* Signature */ 20:
|
|
649
|
+
return empty<Shared_FieldOption>();
|
|
650
|
+
case /* PluginField */ 23:
|
|
634
651
|
return empty<Shared_FieldOption>();
|
|
635
652
|
case /* CheckboxList */ 16:
|
|
636
653
|
return matchValue.fields[0].Options;
|
|
@@ -649,7 +666,7 @@ export function Helpers_optionsFromSpecField(field: Spec_FormField$1<Spec_FieldT
|
|
|
649
666
|
case /* Matrix */ 19:
|
|
650
667
|
return matchValue.fields[0].Options;
|
|
651
668
|
default:
|
|
652
|
-
|
|
669
|
+
throw new Error("Match failure: F1.Studio.Spec.FieldType");
|
|
653
670
|
}
|
|
654
671
|
}
|
|
655
672
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { isNullOrWhiteSpace, printf, toText } from "@fable-org/fable-library-js/String.js";
|
|
2
|
+
import { exists, length, isEmpty, FSharpList, cons, singleton, empty } from "@fable-org/fable-library-js/List.js";
|
|
3
|
+
import { FSharpResult$2_$union, FSharpResult$2_Ok, FSharpResult$2_Error } from "@fable-org/fable-library-js/Result.js";
|
|
4
|
+
import { Spec_FieldType_$union, Spec_FormSpec$1 } from "../../../FormSpec.js";
|
|
5
|
+
import { ListMetadata, convertWithMapAndProvenance } from "./CoreMRSourceMap.js";
|
|
6
|
+
import { CoreMRChoice, CoreMRItem, CoreMRFormData } from "../../CorEMR/CoreMRTypes.js";
|
|
7
|
+
import { buildReport } from "./CorEMRSemanticReportBuilder.js";
|
|
8
|
+
import { defaultArg } from "@fable-org/fable-library-js/Option.js";
|
|
9
|
+
import { nonHeadingItems } from "./CorEMRSectioning.js";
|
|
10
|
+
import { int32ToString } from "@fable-org/fable-library-js/Util.js";
|
|
11
|
+
import { FormSystemAdapter$1, FormSystemFeatures, FormMetadata } from "../FormSystemAdapter.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Convert with list metadata (IsScored, EncounterTypes) from FormListItem.
|
|
15
|
+
* Use when importing from fetch-coremr-forms where FormListItem is available.
|
|
16
|
+
*/
|
|
17
|
+
export function convertWithListMetadata(formData: CoreMRFormData, listMetadata: ListMetadata): FSharpResult$2_$union<Spec_FormSpec$1<Spec_FieldType_$union>, FSharpList<string>> {
|
|
18
|
+
let arg: string;
|
|
19
|
+
try {
|
|
20
|
+
return FSharpResult$2_Ok<Spec_FormSpec$1<Spec_FieldType_$union>, FSharpList<string>>(convertWithMapAndProvenance(formData, listMetadata));
|
|
21
|
+
}
|
|
22
|
+
catch (ex: any) {
|
|
23
|
+
return FSharpResult$2_Error<Spec_FormSpec$1<Spec_FieldType_$union>, FSharpList<string>>(cons((arg = ex.message, toText(printf("CorEMR conversion failed: %s"))(arg)), (ex.stack == null) ? empty<string>() : singleton(" Stack: " + ex.stack)));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const adapter: FormSystemAdapter$1<CoreMRFormData> = new FormSystemAdapter$1("coremr", (template: CoreMRFormData): FSharpResult$2_$union<Spec_FormSpec$1<Spec_FieldType_$union>, FSharpList<string>> => {
|
|
28
|
+
let arg: string;
|
|
29
|
+
try {
|
|
30
|
+
return FSharpResult$2_Ok<Spec_FormSpec$1<Spec_FieldType_$union>, FSharpList<string>>(convertWithMapAndProvenance(template, undefined));
|
|
31
|
+
}
|
|
32
|
+
catch (ex: any) {
|
|
33
|
+
return FSharpResult$2_Error<Spec_FormSpec$1<Spec_FieldType_$union>, FSharpList<string>>(cons((arg = ex.message, toText(printf("CorEMR conversion failed: %s"))(arg)), (ex.stack == null) ? empty<string>() : singleton(" Stack: " + ex.stack)));
|
|
34
|
+
}
|
|
35
|
+
}, buildReport, (template_2: CoreMRFormData): FSharpResult$2_$union<void, FSharpList<string>> => (isEmpty(template_2.Items) ? FSharpResult$2_Error<void, FSharpList<string>>(singleton("Template has no items")) : (isNullOrWhiteSpace(template_2.Metadata.FormName) ? FSharpResult$2_Error<void, FSharpList<string>>(singleton("Template has no name")) : FSharpResult$2_Ok<void, FSharpList<string>>(undefined))), (template_3: CoreMRFormData): FormMetadata => (new FormMetadata(template_3.Metadata.FormName, defaultArg(template_3.Metadata.Description, ""), length<CoreMRItem>(nonHeadingItems(template_3.Items)), exists<CoreMRChoice>((c: CoreMRChoice): boolean => (c.Score > 0), template_3.Choices), !isEmpty(template_3.Triggers), int32ToString(template_3.Metadata.VersionNumber))), new FormSystemFeatures(true, true, true, true, true));
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=CorEMRAdapter.ts.map
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Record } from "@fable-org/fable-library-js/Types.js";
|
|
2
|
+
import { IComparable, IEquatable } from "@fable-org/fable-library-js/Util.js";
|
|
3
|
+
import { record_type, bool_type, string_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
|
|
4
|
+
import { int32 } from "@fable-org/fable-library-js/Int32.js";
|
|
5
|
+
|
|
6
|
+
export class ElementTypeInfo extends Record implements IEquatable<ElementTypeInfo>, IComparable<ElementTypeInfo> {
|
|
7
|
+
readonly Code: string;
|
|
8
|
+
readonly ValueEncoding: string;
|
|
9
|
+
readonly TextFieldRole: string;
|
|
10
|
+
readonly IsPlusNotes: boolean;
|
|
11
|
+
readonly IsScaffold: boolean;
|
|
12
|
+
readonly IsSkip: boolean;
|
|
13
|
+
readonly IsNeedsDocumentation: boolean;
|
|
14
|
+
constructor(Code: string, ValueEncoding: string, TextFieldRole: string, IsPlusNotes: boolean, IsScaffold: boolean, IsSkip: boolean, IsNeedsDocumentation: boolean) {
|
|
15
|
+
super();
|
|
16
|
+
this.Code = Code;
|
|
17
|
+
this.ValueEncoding = ValueEncoding;
|
|
18
|
+
this.TextFieldRole = TextFieldRole;
|
|
19
|
+
this.IsPlusNotes = IsPlusNotes;
|
|
20
|
+
this.IsScaffold = IsScaffold;
|
|
21
|
+
this.IsSkip = IsSkip;
|
|
22
|
+
this.IsNeedsDocumentation = IsNeedsDocumentation;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function ElementTypeInfo_$reflection(): TypeInfo {
|
|
27
|
+
return record_type("FormSpec.Integrations.CorEMR.CorEMRElementTypeMap.ElementTypeInfo", [], ElementTypeInfo, () => [["Code", string_type], ["ValueEncoding", string_type], ["TextFieldRole", string_type], ["IsPlusNotes", bool_type], ["IsScaffold", bool_type], ["IsSkip", bool_type], ["IsNeedsDocumentation", bool_type]]);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function getElementTypeInfo(itemTypeId: int32): ElementTypeInfo {
|
|
31
|
+
switch (itemTypeId) {
|
|
32
|
+
case 1:
|
|
33
|
+
return new ElementTypeInfo("text", "zero", "content", false, false, false, false);
|
|
34
|
+
case 2:
|
|
35
|
+
return new ElementTypeInfo("text_multiline", "zero", "content", false, false, false, false);
|
|
36
|
+
case 20:
|
|
37
|
+
return new ElementTypeInfo("dropdown", "choice_score", "ignored", false, false, false, false);
|
|
38
|
+
case 21:
|
|
39
|
+
return new ElementTypeInfo("dropdown_notes", "choice_score", "optional_notes", true, false, false, true);
|
|
40
|
+
case 25:
|
|
41
|
+
return new ElementTypeInfo("dropdown_notes_ui", "choice_score", "ignored", false, false, false, true);
|
|
42
|
+
case 26:
|
|
43
|
+
return new ElementTypeInfo("chips_notes", "choice_score", "optional_notes", true, false, false, true);
|
|
44
|
+
case 30:
|
|
45
|
+
return new ElementTypeInfo("yes_no_text", "1_yes_2_no", "optional_notes", false, false, false, true);
|
|
46
|
+
case 31:
|
|
47
|
+
return new ElementTypeInfo("yes_no_notes", "1_yes_2_no", "optional_notes", true, false, false, true);
|
|
48
|
+
case 32:
|
|
49
|
+
return new ElementTypeInfo("exam_3choice", "choice_score", "ignored", false, false, false, false);
|
|
50
|
+
case 40:
|
|
51
|
+
return new ElementTypeInfo("checkbox", "choice_score", "ignored", false, false, false, false);
|
|
52
|
+
case 41:
|
|
53
|
+
return new ElementTypeInfo("checkbox_notes", "choice_score", "optional_notes", true, false, false, true);
|
|
54
|
+
case 50:
|
|
55
|
+
return new ElementTypeInfo("date", "zero", "iso_date", false, false, false, false);
|
|
56
|
+
case 51:
|
|
57
|
+
return new ElementTypeInfo("signature_date", "zero", "content", false, false, false, false);
|
|
58
|
+
case 60:
|
|
59
|
+
return new ElementTypeInfo("datetime", "zero", "iso_date", false, false, false, false);
|
|
60
|
+
case 61:
|
|
61
|
+
return new ElementTypeInfo("signature", "skip", "skip", false, false, true, false);
|
|
62
|
+
case 110:
|
|
63
|
+
return new ElementTypeInfo("heading", "scaffold", "ignored", false, true, false, false);
|
|
64
|
+
case 120:
|
|
65
|
+
return new ElementTypeInfo("instructions", "scaffold", "ignored", false, true, false, false);
|
|
66
|
+
case 121:
|
|
67
|
+
return new ElementTypeInfo("group_row", "scaffold", "ignored", false, true, false, false);
|
|
68
|
+
case 130:
|
|
69
|
+
return new ElementTypeInfo("vitals_widget", "scaffold", "ignored", false, true, false, false);
|
|
70
|
+
case 131:
|
|
71
|
+
return new ElementTypeInfo("linked_data", "scaffold", "ignored", false, true, false, false);
|
|
72
|
+
case 132:
|
|
73
|
+
return new ElementTypeInfo("linked_data_rare", "scaffold", "ignored", false, true, false, false);
|
|
74
|
+
case 133:
|
|
75
|
+
return new ElementTypeInfo("sub_header", "scaffold", "ignored", false, true, false, false);
|
|
76
|
+
case 134:
|
|
77
|
+
return new ElementTypeInfo("score_display", "scaffold", "ignored", false, true, false, false);
|
|
78
|
+
case 135:
|
|
79
|
+
return new ElementTypeInfo("score_explanation", "scaffold", "ignored", false, true, false, false);
|
|
80
|
+
case 138:
|
|
81
|
+
return new ElementTypeInfo("unknown_138", "scaffold", "ignored", false, true, false, false);
|
|
82
|
+
case 140:
|
|
83
|
+
return new ElementTypeInfo("allergy_autofill", "scaffold", "ignored", false, true, false, false);
|
|
84
|
+
case 143:
|
|
85
|
+
return new ElementTypeInfo("chips_ros", "choice_score", "ignored", false, false, false, false);
|
|
86
|
+
default:
|
|
87
|
+
return new ElementTypeInfo(`unknown_${itemTypeId}`, "unknown", "unknown", false, false, true, false);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export function elementTypeCode(itemTypeId: int32): string {
|
|
92
|
+
return getElementTypeInfo(itemTypeId).Code;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* HasText = "content" | "optional_notes", HasDate = "iso_date"
|
|
97
|
+
*/
|
|
98
|
+
export function hasTextHasDate(itemTypeId: int32): [boolean, boolean] {
|
|
99
|
+
const info: ElementTypeInfo = getElementTypeInfo(itemTypeId);
|
|
100
|
+
return [(info.TextFieldRole === "content") ? true : (info.TextFieldRole === "optional_notes"), info.TextFieldRole === "iso_date"] as [boolean, boolean];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=CorEMRElementTypeMap.ts.map
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { isNullOrWhiteSpace } from "@fable-org/fable-library-js/String.js";
|
|
2
|
+
import { Helpers_generateDeterministicGuidRaw, Helpers_canonicalizeFieldKey } from "../../../Helpers.js";
|
|
3
|
+
import { defaultArg, Option, value as value_1 } from "@fable-org/fable-library-js/Option.js";
|
|
4
|
+
import { int32 } from "@fable-org/fable-library-js/Int32.js";
|
|
5
|
+
import { CoreMRChoice, CoreMRItem } from "../../CorEMR/CoreMRTypes.js";
|
|
6
|
+
import { Spec_FormField$1, Spec_FieldType_$union, Spec_FieldType_UnsupportedField, Spec_UnsupportedFieldInfo, Spec_FieldType_PluginField, Spec_PluginFieldConfig, Spec_FieldType_Message, Spec_MessageInfo, Spec_MessageType_Info, Spec_FieldType_DateTimeLocal, Spec_FieldType_Signature, Spec_SignatureInfo, Spec_FieldType_Date, Spec_FieldType_Radio, Spec_FieldType_CheckboxList, Spec_MultiChoiceInfo, Spec_FieldType_Dropdown, Spec_SingleChoiceInfo, Spec_FieldType_TextArea, Spec_FieldType_Text, Spec_TextInfo, Shared_FieldOption, Shared_FieldOptionKey, Shared_FieldKey } from "../../../FormSpec.js";
|
|
7
|
+
import { sort, isEmpty, ofArray, FSharpList, sortBy, map } from "@fable-org/fable-library-js/List.js";
|
|
8
|
+
import { comparePrimitives } from "@fable-org/fable-library-js/Util.js";
|
|
9
|
+
import { getElementTypeInfo } from "./CorEMRElementTypeMap.js";
|
|
10
|
+
import { normalizeChoiceScores } from "../../../BitmaskHelpers.js";
|
|
11
|
+
|
|
12
|
+
function buildNamespacedFieldSeed(formCode: string, stepOrder: int32, item: CoreMRItem): string {
|
|
13
|
+
let matchValue: Option<string>;
|
|
14
|
+
return `formspec.${isNullOrWhiteSpace(formCode) ? "unknown" : Helpers_canonicalizeFieldKey(formCode)}:step${stepOrder}.${isNullOrWhiteSpace(item.Label) ? ((matchValue = item.Uuid, (matchValue == null) ? (`item_id_${item.ItemId}`) : (`item_uuid_${value_1(matchValue)}`))) : Helpers_canonicalizeFieldKey(item.Label)}`;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function generateNamespacedFieldKey(formCode: string, stepOrder: int32, item: CoreMRItem): Shared_FieldKey {
|
|
18
|
+
return new Shared_FieldKey(Helpers_generateDeterministicGuidRaw(buildNamespacedFieldSeed(formCode, stepOrder, item)));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Map CoreMR choices to FormSpec FieldOptions.
|
|
23
|
+
* Choices come from the item_choices table (LEFT JOIN in the generator query).
|
|
24
|
+
* Score is NOT propagated to FormSpec — it's only used by the answer pipeline.
|
|
25
|
+
*/
|
|
26
|
+
export function mapChoices(choices: FSharpList<CoreMRChoice>): FSharpList<Shared_FieldOption> {
|
|
27
|
+
return map<CoreMRChoice, Shared_FieldOption>((c_1: CoreMRChoice): Shared_FieldOption => (new Shared_FieldOption(c_1.Text, Helpers_canonicalizeFieldKey(c_1.Text), new Shared_FieldOptionKey(Helpers_generateDeterministicGuidRaw(`coremr:choice:${c_1.ChoiceId}:${c_1.Text}`)), undefined)), sortBy<CoreMRChoice, int32>((c: CoreMRChoice): int32 => c.Sequence, choices, {
|
|
28
|
+
Compare: comparePrimitives,
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function buildImplicitYesNoOptions(item: CoreMRItem): FSharpList<Shared_FieldOption> {
|
|
33
|
+
return ofArray([new Shared_FieldOption("Yes", "yes", new Shared_FieldOptionKey(Helpers_generateDeterministicGuidRaw(`coremr:implicit:${item.ItemId}:yes`)), undefined), new Shared_FieldOption("No", "no", new Shared_FieldOptionKey(Helpers_generateDeterministicGuidRaw(`coremr:implicit:${item.ItemId}:no`)), undefined)]);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Determine if item is a "Plus Notes" type that should enable the Notes field.
|
|
38
|
+
*/
|
|
39
|
+
export function isPlusNotesType(item: CoreMRItem): boolean {
|
|
40
|
+
return getElementTypeInfo(item.ItemTypeId).IsPlusNotes;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Types 21, 25, 26, 30, 31, 41 — "with Notes" types that need Documentation field.
|
|
45
|
+
*/
|
|
46
|
+
export function isNeedsDocumentationType(item: CoreMRItem): boolean {
|
|
47
|
+
return getElementTypeInfo(item.ItemTypeId).IsNeedsDocumentation;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function mapFieldType(item: CoreMRItem, choices: FSharpList<CoreMRChoice>): Spec_FieldType_$union {
|
|
51
|
+
const mappedChoices: FSharpList<Shared_FieldOption> = mapChoices(choices);
|
|
52
|
+
const hasChoices: boolean = !isEmpty(mappedChoices);
|
|
53
|
+
const matchValue: int32 = item.ItemTypeId | 0;
|
|
54
|
+
switch (matchValue) {
|
|
55
|
+
case 1:
|
|
56
|
+
return Spec_FieldType_Text(new Spec_TextInfo(undefined));
|
|
57
|
+
case 2:
|
|
58
|
+
return Spec_FieldType_TextArea(new Spec_TextInfo(undefined));
|
|
59
|
+
case 20:
|
|
60
|
+
return Spec_FieldType_Dropdown(new Spec_SingleChoiceInfo(mappedChoices));
|
|
61
|
+
case 21:
|
|
62
|
+
return Spec_FieldType_Dropdown(new Spec_SingleChoiceInfo(mappedChoices));
|
|
63
|
+
case 25:
|
|
64
|
+
return Spec_FieldType_Dropdown(new Spec_SingleChoiceInfo(mappedChoices));
|
|
65
|
+
case 26:
|
|
66
|
+
return Spec_FieldType_CheckboxList(new Spec_MultiChoiceInfo(mappedChoices));
|
|
67
|
+
case 30:
|
|
68
|
+
return Spec_FieldType_Radio(new Spec_SingleChoiceInfo(hasChoices ? mappedChoices : buildImplicitYesNoOptions(item)));
|
|
69
|
+
case 31:
|
|
70
|
+
return Spec_FieldType_Radio(new Spec_SingleChoiceInfo(hasChoices ? mappedChoices : buildImplicitYesNoOptions(item)));
|
|
71
|
+
case 32:
|
|
72
|
+
return Spec_FieldType_Dropdown(new Spec_SingleChoiceInfo(mappedChoices));
|
|
73
|
+
case 40:
|
|
74
|
+
if (normalizeChoiceScores(sort<int32>(map<CoreMRChoice, int32>((c: CoreMRChoice): int32 => c.Score, choices), {
|
|
75
|
+
Compare: comparePrimitives,
|
|
76
|
+
}))[1]) {
|
|
77
|
+
return Spec_FieldType_CheckboxList(new Spec_MultiChoiceInfo(mappedChoices));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
return Spec_FieldType_Radio(new Spec_SingleChoiceInfo(mappedChoices));
|
|
81
|
+
}
|
|
82
|
+
case 41:
|
|
83
|
+
if (normalizeChoiceScores(sort<int32>(map<CoreMRChoice, int32>((c_1: CoreMRChoice): int32 => c_1.Score, choices), {
|
|
84
|
+
Compare: comparePrimitives,
|
|
85
|
+
}))[1]) {
|
|
86
|
+
return Spec_FieldType_CheckboxList(new Spec_MultiChoiceInfo(mappedChoices));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return Spec_FieldType_Radio(new Spec_SingleChoiceInfo(mappedChoices));
|
|
90
|
+
}
|
|
91
|
+
case 50:
|
|
92
|
+
return Spec_FieldType_Date(new Spec_TextInfo(undefined));
|
|
93
|
+
case 51:
|
|
94
|
+
return Spec_FieldType_Signature(new Spec_SignatureInfo(undefined));
|
|
95
|
+
case 60:
|
|
96
|
+
return Spec_FieldType_DateTimeLocal(new Spec_TextInfo(undefined));
|
|
97
|
+
case 61:
|
|
98
|
+
return Spec_FieldType_Signature(new Spec_SignatureInfo(undefined));
|
|
99
|
+
case 110:
|
|
100
|
+
throw new Error("Type 110 (Heading) should be filtered out before mapping to FieldType");
|
|
101
|
+
case 120:
|
|
102
|
+
return Spec_FieldType_Message(new Spec_MessageInfo("", Spec_MessageType_Info(), item.Label, undefined));
|
|
103
|
+
case 121:
|
|
104
|
+
return Spec_FieldType_Message(new Spec_MessageInfo("", Spec_MessageType_Info(), item.Label, undefined));
|
|
105
|
+
case 130:
|
|
106
|
+
return Spec_FieldType_PluginField(new Spec_PluginFieldConfig("Fable.Form.Simple.Bulma.Fields.VitalsField", undefined, undefined));
|
|
107
|
+
case 131:
|
|
108
|
+
case 132:
|
|
109
|
+
return Spec_FieldType_Message(new Spec_MessageInfo("", Spec_MessageType_Info(), item.Label, undefined));
|
|
110
|
+
case 133:
|
|
111
|
+
case 134:
|
|
112
|
+
case 135:
|
|
113
|
+
case 140:
|
|
114
|
+
return Spec_FieldType_Message(new Spec_MessageInfo("", Spec_MessageType_Info(), item.Label, undefined));
|
|
115
|
+
case 143:
|
|
116
|
+
return Spec_FieldType_CheckboxList(new Spec_MultiChoiceInfo(mappedChoices));
|
|
117
|
+
default:
|
|
118
|
+
return Spec_FieldType_UnsupportedField(new Spec_UnsupportedFieldInfo(item.ItemId, defaultArg(item.Code, ""), matchValue));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export function mapToFormField(formCode: string, stepOrder: int32, item: CoreMRItem, choices: FSharpList<CoreMRChoice>): Spec_FormField$1<Spec_FieldType_$union> {
|
|
123
|
+
const fieldType: Spec_FieldType_$union = mapFieldType(item, choices);
|
|
124
|
+
const mainLabel: string = item.Label.trim();
|
|
125
|
+
const notesField: Option<string> = isPlusNotesType(item) ? "" : undefined;
|
|
126
|
+
return new Spec_FormField$1(item.Sequence, generateNamespacedFieldKey(formCode, stepOrder, item), mainLabel, notesField, undefined, !item.IsRequired, false, isNeedsDocumentationType(item), undefined, fieldType, undefined);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
//# sourceMappingURL=CorEMRFieldTypeMapper.ts.map
|