@f1studio/form-spec 5.0.0-alpha.157 → 5.0.0-alpha.160
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.js.map +1 -0
- package/FormSpec.FS/BlueprintValidation.js.map +1 -0
- package/FormSpec.FS/Components/HelloComponent.js.map +1 -0
- package/FormSpec.FS/Designer.js.map +1 -0
- package/FormSpec.FS/FormSpec.d.ts +56 -24
- package/FormSpec.FS/FormSpec.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/FormSpec.js +172 -12
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/FormSpec.js.map +1 -1
- package/FormSpec.FS/FormSpecHelpers.js.map +1 -0
- package/FormSpec.FS/FormSpecValues.js.map +1 -0
- package/FormSpec.FS/Helpers.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.js.map +1 -0
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js +2 -2
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.js +5 -2
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.d.ts +46 -5
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CoreMREncoder.js +354 -36
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.d.ts +19 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.d.ts.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.js +99 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.js.map +1 -0
- package/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.js.map +1 -0
- package/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.js.map +1 -0
- package/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.d.ts +1 -1
- package/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/CorEMR/ItemTriggerConverter.js +18 -10
- package/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.js.map +1 -0
- package/FormSpec.FS/Integrations/CorEMR/TemplateDecodeTypes.js.map +1 -0
- package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/CorEMR/TemplateManifestDecoder.js +3 -63
- package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.js.map +1 -0
- package/FormSpec.FS/Integrations/OpenFda/OpenFdaTypes.js.map +1 -0
- package/FormSpec.FS/Interfaces.js.map +1 -0
- package/FormSpec.FS/Interop/Facade/BlueprintFilledForm.js.map +1 -0
- package/FormSpec.FS/Interop/Facade/FormAnswersGate.js.map +1 -0
- package/FormSpec.FS/Interop/FormSpec.Api.Helpers.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/FormSpec.Api.Helpers.js +31 -10
- package/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +1 -0
- package/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +1 -0
- package/FormSpec.FS/Interop/FormSpec.Values.Api.Option.js.map +1 -0
- package/FormSpec.FS/Logging/LogTypes.js.map +1 -0
- package/FormSpec.FS/Migrator.js.map +1 -0
- package/FormSpec.FS/PathwayDataExtractor.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/PathwayDataExtractor.js +67 -42
- package/FormSpec.FS/PathwayDataExtractor.js.map +1 -0
- package/FormSpec.FS/PathwayExecutor.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/PathwayExecutor.js +20 -6
- package/FormSpec.FS/PathwayExecutor.js.map +1 -0
- package/FormSpec.FS/PathwayValidator.js.map +1 -0
- package/FormSpec.FS/PluginInterface.js.map +1 -0
- package/FormSpec.FS/Prelude.js.map +1 -0
- package/FormSpec.FS/Provenance.js.map +1 -0
- package/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.js.map +1 -0
- package/FormSpec.FS/Renderers/MermaidRenderer.js.map +1 -0
- package/FormSpec.FS/Renderers/PathwayRenderers.js.map +1 -0
- package/FormSpec.FS/TriggerActionDto.d.ts +26 -10
- package/FormSpec.FS/TriggerActionDto.d.ts.map +1 -1
- package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/TriggerActionDto.js +82 -17
- package/FormSpec.FS/TriggerActionDto.js.map +1 -0
- package/PathwayExecutor.withPlugins.js.map +1 -0
- package/PluginRegistration.js.map +1 -0
- package/README.md +7 -7
- package/Thoth.Json/packages/Thoth.Json/Decode.d.ts +2 -2
- package/Thoth.Json/packages/Thoth.Json/Decode.d.ts.map +1 -1
- package/{FormSpec.TS/Thoth.Json → Thoth.Json}/packages/Thoth.Json/Decode.js +69 -63
- package/Thoth.Json/packages/Thoth.Json/Decode.js.map +1 -0
- package/Thoth.Json/packages/Thoth.Json/Encode.d.ts.map +1 -1
- package/{FormSpec.TS/Thoth.Json → Thoth.Json}/packages/Thoth.Json/Encode.js +10 -6
- package/Thoth.Json/packages/Thoth.Json/Encode.js.map +1 -0
- package/Thoth.Json/packages/Thoth.Json/Extra.js.map +1 -0
- package/Thoth.Json/packages/Thoth.Json/Types.js.map +1 -0
- package/fable_modules/Fable.Form.3.0.0/Base.fs.js.map +1 -0
- package/fable_modules/Fable.Form.3.0.0/Error.fs.js.map +1 -0
- package/fable_modules/Fable.Form.3.0.0/Extensions.fs.js.map +1 -0
- package/fable_modules/Fable.Form.3.0.0/Field.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js.map +1 -0
- package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js.map +1 -0
- package/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js.map +1 -0
- package/fable_modules/Fable.Promise.3.2.0/Promise.fs.js.map +1 -0
- package/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js.map +1 -0
- package/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js.map +1 -0
- package/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js.map +1 -0
- package/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/Colors.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/DateParsing.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/Helpers.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/Internal.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/Interop.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/Key.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/Properties.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/ReactDOM.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/ReactInterop.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/ReactTypes.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/StyleTypes.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/Svg.fs.js.map +1 -0
- package/fable_modules/Feliz.2.8.0/Types.fs.js.map +1 -0
- package/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js.map +1 -0
- package/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.js.map +1 -0
- package/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.js.map +1 -0
- package/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js.map +1 -0
- package/package.json +1 -1
- package/plugins/allergyfinder/src/AllergyFinderField.js.map +1 -0
- package/plugins/allergyfinder/src/AllergyLogic.js.map +1 -0
- package/plugins/allergyfinder/src/OpenFdaClient.js.map +1 -0
- package/plugins/bmi/src/BMIField.js.map +1 -0
- package/plugins/demographics/src/DemographicsField.js.map +1 -0
- package/plugins/likert/src/LikertField.js.map +1 -0
- package/plugins/signature/src/SignatureField.js.map +1 -0
- package/plugins/vitals/src/VitalsField.d.ts +2 -0
- package/plugins/vitals/src/VitalsField.d.ts.map +1 -1
- package/{FormSpec.TS/plugins → plugins}/vitals/src/VitalsField.js +283 -67
- package/plugins/vitals/src/VitalsField.js.map +1 -0
- package/plugins/vitals/src/VitalsLogic.d.ts +41 -4
- package/plugins/vitals/src/VitalsLogic.d.ts.map +1 -1
- package/{FormSpec.TS/plugins → plugins}/vitals/src/VitalsLogic.js +176 -11
- package/plugins/vitals/src/VitalsLogic.js.map +1 -0
- package/src/FormSpec.FS/FormSpec.ts +98 -26
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.ts +3 -3
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.ts +4 -4
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.ts +334 -67
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.ts +105 -0
- package/src/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.ts +18 -16
- package/src/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.ts +12 -86
- package/src/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts +30 -11
- package/src/FormSpec.FS/PathwayDataExtractor.ts +65 -44
- package/src/FormSpec.FS/PathwayExecutor.ts +22 -10
- package/src/FormSpec.FS/TriggerActionDto.ts +64 -29
- package/src/Thoth.Json/packages/Thoth.Json/Decode.ts +55 -38
- package/src/Thoth.Json/packages/Thoth.Json/Encode.ts +16 -10
- package/src/plugins/vitals/src/VitalsField.ts +203 -65
- package/src/plugins/vitals/src/VitalsLogic.ts +140 -14
- package/FormSpec.TS/FormSpec.FS/BitmaskHelpers.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/BlueprintValidation.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Components/HelloComponent.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Designer.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/FormSpecValues.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Helpers.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/TemplateDecodeTypes.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Integrations/OpenFda/OpenFdaTypes.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Interfaces.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Interop/Facade/BlueprintFilledForm.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Interop/Facade/FormAnswersGate.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Logging/LogTypes.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Migrator.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/PathwayDataExtractor.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/PathwayExecutor.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/PathwayValidator.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/PluginInterface.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Prelude.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Provenance.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Renderers/MermaidRenderer.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/Renderers/PathwayRenderers.js.map +0 -1
- package/FormSpec.TS/FormSpec.FS/TriggerActionDto.js.map +0 -1
- package/FormSpec.TS/PathwayExecutor.withPlugins.js.map +0 -1
- package/FormSpec.TS/PluginRegistration.js.map +0 -1
- package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Decode.js.map +0 -1
- package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Encode.js.map +0 -1
- package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Extra.js.map +0 -1
- package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Types.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Promise.3.2.0/Promise.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Colors.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/DateParsing.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Interop.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Key.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Properties.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/ReactDOM.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/ReactInterop.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/ReactTypes.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/StyleTypes.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Svg.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Types.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js.map +0 -1
- package/FormSpec.TS/plugins/allergyfinder/src/AllergyFinderField.js.map +0 -1
- package/FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.js.map +0 -1
- package/FormSpec.TS/plugins/allergyfinder/src/OpenFdaClient.js.map +0 -1
- package/FormSpec.TS/plugins/bmi/src/BMIField.js.map +0 -1
- package/FormSpec.TS/plugins/demographics/src/DemographicsField.js.map +0 -1
- package/FormSpec.TS/plugins/likert/src/LikertField.js.map +0 -1
- package/FormSpec.TS/plugins/signature/src/SignatureField.js.map +0 -1
- package/FormSpec.TS/plugins/vitals/src/VitalsField.js.map +0 -1
- package/FormSpec.TS/plugins/vitals/src/VitalsLogic.js.map +0 -1
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/BitmaskHelpers.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/BlueprintValidation.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Components/HelloComponent.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Designer.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/FormSpecHelpers.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/FormSpecValues.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Helpers.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRAdapter.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRSectioning.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CoreMRSourceMap.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/FormSystemAdapter.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/CorEMR/CoreMRTypes.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/CorEMR/TemplateDecodeTypes.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/OpenFda/OpenFdaTypes.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interfaces.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/Facade/BlueprintFilledForm.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/Facade/FormAnswersGate.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/FormSpec.Api.Option.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/FormSpec.Values.Api.Option.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Logging/LogTypes.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Migrator.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/PathwayValidator.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/PluginInterface.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Prelude.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Provenance.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Renderers/FormSpecMarkdownRenderer.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Renderers/MermaidRenderer.js +0 -0
- /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Renderers/PathwayRenderers.js +0 -0
- /package/{FormSpec.TS/PathwayExecutor.withPlugins.js → PathwayExecutor.withPlugins.js} +0 -0
- /package/{FormSpec.TS/PluginRegistration.js → PluginRegistration.js} +0 -0
- /package/{FormSpec.TS/Thoth.Json → Thoth.Json}/packages/Thoth.Json/Extra.js +0 -0
- /package/{FormSpec.TS/Thoth.Json → Thoth.Json}/packages/Thoth.Json/Types.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.3.0.0/Base.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.3.0.0/Error.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.3.0.0/Extensions.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.3.0.0/Field.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.5.0.1/Form.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Promise.3.2.0/AsyncIterable.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Promise.3.2.0/Promise.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Promise.3.2.0/PromiseImpl.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.React.Types.18.3.0/Fable.React.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Colors.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/DateParsing.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Helpers.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Internal.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Interop.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Key.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Properties.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/ReactDOM.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/ReactInterop.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/ReactTypes.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/StyleTypes.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Svg.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Types.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.Bulma.3.0.0/ElementBuilders.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.Bulma.3.0.0/Modifiers.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.Bulma.3.0.0/Operators.fs.js +0 -0
- /package/{FormSpec.TS/fable_modules → fable_modules}/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js +0 -0
- /package/{FormSpec.TS/plugins → plugins}/allergyfinder/src/AllergyFinderField.js +0 -0
- /package/{FormSpec.TS/plugins → plugins}/allergyfinder/src/AllergyLogic.js +0 -0
- /package/{FormSpec.TS/plugins → plugins}/allergyfinder/src/OpenFdaClient.js +0 -0
- /package/{FormSpec.TS/plugins → plugins}/bmi/src/BMIField.js +0 -0
- /package/{FormSpec.TS/plugins → plugins}/demographics/src/DemographicsField.js +0 -0
- /package/{FormSpec.TS/plugins → plugins}/likert/src/LikertField.js +0 -0
- /package/{FormSpec.TS/plugins → plugins}/signature/src/SignatureField.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FSharpRef, Record } from "@fable-org/fable-library-js/Types.js";
|
|
2
|
-
import { VitalsValidationResult, validateVitalsData, isValidPainScale, isValidOxygenSat, isValidRespiration, isValidPulse, isValidDiastolicBP, isValidSystolicBP, isValidTemperature, VitalPropertyValidation, validateVitalsProperty, serializeVitalsData, VitalsData, parseVitalsData, VitalsConfig_$reflection, VitalsConfig } from "./VitalsLogic.js";
|
|
2
|
+
import { VitalsValidationResult, validateVitalsData, isValidHeight, isValidWeight, isValidPainScale, isValidOxygenSat, isValidRespiration, isValidPulse, isValidDiastolicBP, isValidSystolicBP, isValidTemperature, UnitSystem_Metric, UnitSystem_Imperial, VitalPropertyValidation, validateVitalsProperty, serializeVitalsData, convertHeightToImperial, convertWeightToImperial, computeBMI, UnitSystem_$union, VitalsData, parseVitalsData, VitalsConfig_$reflection, VitalsConfig } from "./VitalsLogic.js";
|
|
3
3
|
import { equals, createObj, IComparable, IEquatable } from "@fable-org/fable-library-js/Util.js";
|
|
4
4
|
import { mapValues, Field$3, IAttributes } from "../../../fable_modules/Fable.Form.3.0.0/Field.fs.js";
|
|
5
5
|
import { class_type, record_type, string_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
|
|
@@ -7,7 +7,7 @@ import { Form$3, FieldConfig$4, field as field_1 } from "../../../fable_modules/
|
|
|
7
7
|
import { join, printf, toText, isNullOrWhiteSpace, isNullOrEmpty } from "@fable-org/fable-library-js/String.js";
|
|
8
8
|
import { createElement } from "react";
|
|
9
9
|
import React from "react";
|
|
10
|
-
import { some, bind, value as
|
|
10
|
+
import { some, bind, value as value_202, Option, map, defaultArg } from "@fable-org/fable-library-js/Option.js";
|
|
11
11
|
import { int32, float64 } from "@fable-org/fable-library-js/Int32.js";
|
|
12
12
|
import { reactApi } from "../../../fable_modules/Feliz.2.8.0/Interop.fs.js";
|
|
13
13
|
import { tryParse } from "@fable-org/fable-library-js/Double.js";
|
|
@@ -50,7 +50,7 @@ export function VitalsField_form<Values, Field, Output>(): ((arg0: ((arg0: Field
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
export function VitalsField_VitalsFieldComponent(config: StandardRenderFieldConfig$2<string, VitalsField_Attributes>): ReactElement {
|
|
53
|
-
let
|
|
53
|
+
let elems_16: Iterable<ReactElement>;
|
|
54
54
|
const vitalsData: VitalsData = parseVitalsData(config.Value);
|
|
55
55
|
const vitalsConfig: VitalsConfig = config.Attributes.Config;
|
|
56
56
|
let patternInput: [string, ((arg0: string) => void)];
|
|
@@ -81,41 +81,100 @@ export function VitalsField_VitalsFieldComponent(config: StandardRenderFieldConf
|
|
|
81
81
|
const initial_6: string = defaultArg(map<float64, string>((value_12: float64): string => value_12.toString(), vitalsData.PainScale), "");
|
|
82
82
|
patternInput_6 = reactApi.useState<string, string>(initial_6);
|
|
83
83
|
const painScale: string = patternInput_6[0];
|
|
84
|
-
|
|
84
|
+
let patternInput_7: [string, ((arg0: string) => void)];
|
|
85
|
+
const initial_7: string = defaultArg(map<float64, string>((value_14: float64): string => value_14.toString(), vitalsData.Weight), "");
|
|
86
|
+
patternInput_7 = reactApi.useState<string, string>(initial_7);
|
|
87
|
+
const weight: string = patternInput_7[0];
|
|
88
|
+
let patternInput_8: [string, ((arg0: string) => void)];
|
|
89
|
+
const initial_8: string = defaultArg(map<float64, string>((value_16: float64): string => value_16.toString(), vitalsData.Height), "");
|
|
90
|
+
patternInput_8 = reactApi.useState<string, string>(initial_8);
|
|
91
|
+
const height: string = patternInput_8[0];
|
|
92
|
+
const patternInput_9: [UnitSystem_$union, ((arg0: UnitSystem_$union) => void)] = reactApi.useState<UnitSystem_$union, UnitSystem_$union>(vitalsData.UnitSystem);
|
|
93
|
+
const unitSystem: UnitSystem_$union = patternInput_9[0];
|
|
94
|
+
const setUnitSystem: ((arg0: UnitSystem_$union) => void) = patternInput_9[1];
|
|
95
|
+
let computedBMI: Option<float64>;
|
|
96
|
+
const parseOpt = (s: string): Option<float64> => {
|
|
97
|
+
if (isNullOrWhiteSpace(s)) {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
let matchValue: [boolean, float64];
|
|
102
|
+
let outArg = 0;
|
|
103
|
+
matchValue = ([tryParse(s, new FSharpRef<float64>((): float64 => outArg, (v: float64): void => {
|
|
104
|
+
outArg = v;
|
|
105
|
+
})), outArg] as [boolean, float64]);
|
|
106
|
+
if (matchValue[0]) {
|
|
107
|
+
return matchValue[1];
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const matchValue_1: Option<float64> = parseOpt(weight);
|
|
115
|
+
const matchValue_2: Option<float64> = parseOpt(height);
|
|
116
|
+
let matchResult: int32, h_1: float64, w_1: float64;
|
|
117
|
+
if (matchValue_1 != null) {
|
|
118
|
+
if (matchValue_2 != null) {
|
|
119
|
+
if ((value_202(matchValue_1) > 0) && (value_202(matchValue_2) > 0)) {
|
|
120
|
+
matchResult = 0;
|
|
121
|
+
h_1 = value_202(matchValue_2);
|
|
122
|
+
w_1 = value_202(matchValue_1);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
matchResult = 1;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
matchResult = 1;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
matchResult = 1;
|
|
134
|
+
}
|
|
135
|
+
switch (matchResult) {
|
|
136
|
+
case 0: {
|
|
137
|
+
computedBMI = computeBMI(convertWeightToImperial(unitSystem, w_1!) * 1, convertHeightToImperial(unitSystem, h_1!) * 1);
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
default:
|
|
141
|
+
computedBMI = undefined;
|
|
142
|
+
}
|
|
143
|
+
const dependencies: any[] = [temperature, systolicBP, diastolicBP, pulse, respiration, oxygenSat, painScale, weight, height, unitSystem];
|
|
85
144
|
reactApi.useEffect((): void => {
|
|
86
|
-
const
|
|
87
|
-
if (isNullOrWhiteSpace(
|
|
145
|
+
const parseOpt_1 = (s_1: string): Option<float64> => {
|
|
146
|
+
if (isNullOrWhiteSpace(s_1)) {
|
|
88
147
|
return undefined;
|
|
89
148
|
}
|
|
90
149
|
else {
|
|
91
|
-
let
|
|
92
|
-
let
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
})),
|
|
96
|
-
if (
|
|
97
|
-
return
|
|
150
|
+
let matchValue_4: [boolean, float64];
|
|
151
|
+
let outArg_1 = 0;
|
|
152
|
+
matchValue_4 = ([tryParse(s_1, new FSharpRef<float64>((): float64 => outArg_1, (v_2: float64): void => {
|
|
153
|
+
outArg_1 = v_2;
|
|
154
|
+
})), outArg_1] as [boolean, float64]);
|
|
155
|
+
if (matchValue_4[0]) {
|
|
156
|
+
return matchValue_4[1];
|
|
98
157
|
}
|
|
99
158
|
else {
|
|
100
159
|
return undefined;
|
|
101
160
|
}
|
|
102
161
|
}
|
|
103
162
|
};
|
|
104
|
-
config.OnChange(serializeVitalsData(new VitalsData(
|
|
163
|
+
config.OnChange(serializeVitalsData(new VitalsData(parseOpt_1(temperature), parseOpt_1(systolicBP), parseOpt_1(diastolicBP), parseOpt_1(pulse), parseOpt_1(respiration), parseOpt_1(oxygenSat), parseOpt_1(painScale), parseOpt_1(weight), parseOpt_1(height), unitSystem)));
|
|
105
164
|
}, dependencies);
|
|
106
165
|
const statusBadge = (clinicalStatus: string): ReactElement => {
|
|
107
|
-
const
|
|
166
|
+
const patternInput_10: [string, string] = (clinicalStatus === "invalid") ? (["bg-red-100 text-red-800 border border-red-300", "Invalid"] as [string, string]) : ((clinicalStatus === "critical") ? (["bg-red-100 text-red-700 border border-red-200", "Critical"] as [string, string]) : ((clinicalStatus === "abnormal") ? (["bg-amber-100 text-amber-700 border border-amber-200", "Abnormal"] as [string, string]) : ((clinicalStatus === "normal") ? (["bg-emerald-100 text-emerald-700 border border-emerald-200", "Normal"] as [string, string]) : (["bg-slate-100 text-slate-600 border border-slate-200", "Pending"] as [string, string]))));
|
|
108
167
|
return createElement<any>("span", {
|
|
109
|
-
className: `inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${
|
|
110
|
-
children:
|
|
168
|
+
className: `inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${patternInput_10[0]}`,
|
|
169
|
+
children: patternInput_10[1],
|
|
111
170
|
});
|
|
112
171
|
};
|
|
113
|
-
const createVitalInput = (label_1: string, propertyName: string,
|
|
114
|
-
let
|
|
115
|
-
const validation: VitalPropertyValidation = validateVitalsProperty(propertyName,
|
|
172
|
+
const createVitalInput = (label_1: string, propertyName: string, value_22: string, setValue: ((arg0: string) => void), unitText: string, placeholder: string): ReactElement => {
|
|
173
|
+
let matchValue_5: string, elems_1: Iterable<ReactElement>;
|
|
174
|
+
const validation: VitalPropertyValidation = validateVitalsProperty(propertyName, value_22);
|
|
116
175
|
let inputClass: string;
|
|
117
176
|
const baseClass = "mt-1 block w-full rounded-md border bg-white px-2.5 py-1.5 text-sm text-slate-900 shadow-sm transition placeholder:text-slate-400 focus:outline-none focus:ring-2 disabled:cursor-not-allowed disabled:bg-slate-100 disabled:text-slate-500";
|
|
118
|
-
inputClass = ((config.ShowError && (config.Error != null)) ? (`${baseClass} border-red-400 focus:border-red-500 focus:ring-red-500/30`) : (`${baseClass} ${(
|
|
177
|
+
inputClass = ((config.ShowError && (config.Error != null)) ? (`${baseClass} border-red-400 focus:border-red-500 focus:ring-red-500/30`) : (`${baseClass} ${(matchValue_5 = validation.ClinicalStatus, (matchValue_5 === "invalid") ? "border-red-400 focus:border-red-500 focus:ring-red-500/30" : ((matchValue_5 === "critical") ? "border-red-300 focus:border-red-500 focus:ring-red-500/30" : ((matchValue_5 === "abnormal") ? "border-amber-300 focus:border-amber-500 focus:ring-amber-500/30" : "border-slate-300 focus:border-sky-500 focus:ring-sky-500/30")))}`));
|
|
119
178
|
return createElement<any>("div", createObj(ofArray([["className", "rounded-lg border border-slate-200 bg-white p-2.5 shadow-sm"] as [string, any], (elems_1 = toList<ReactElement>(delay<ReactElement>((): Iterable<ReactElement> => {
|
|
120
179
|
let elems: Iterable<ReactElement>;
|
|
121
180
|
return append<ReactElement>(singleton<ReactElement>(createElement<any>("div", createObj(ofArray([["className", "flex items-center justify-between gap-3"] as [string, any], (elems = [createElement<any>("label", {
|
|
@@ -124,7 +183,7 @@ export function VitalsField_VitalsFieldComponent(config: StandardRenderFieldConf
|
|
|
124
183
|
}), statusBadge(validation.ClinicalStatus)], ["children", reactApi.Children.toArray(Array.from(elems))] as [string, any])])))), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(singleton<ReactElement>(createElement<any>("input", {
|
|
125
184
|
type: "number",
|
|
126
185
|
className: inputClass,
|
|
127
|
-
value:
|
|
186
|
+
value: value_22,
|
|
128
187
|
placeholder: placeholder,
|
|
129
188
|
disabled: config.Disabled ? true : config.IsReadOnly,
|
|
130
189
|
onChange: (ev: Event): void => {
|
|
@@ -136,17 +195,17 @@ export function VitalsField_VitalsFieldComponent(config: StandardRenderFieldConf
|
|
|
136
195
|
}))))))));
|
|
137
196
|
})), ["children", reactApi.Children.toArray(Array.from(elems_1))] as [string, any])])));
|
|
138
197
|
};
|
|
139
|
-
return withLabelAndError(config.Attributes.Label, config.ShowError, config.Error, createElement<any>("div", createObj(ofArray([["className", "space-y-2.5"] as [string, any], (
|
|
140
|
-
let
|
|
141
|
-
return append<ReactElement>(singleton<ReactElement>(createElement<any>("div", createObj(ofArray([["className", "grid grid-cols-1 auto-rows-min content-start items-start gap-2 md:grid-cols-2 lg:grid-cols-3"] as [string, any], (
|
|
142
|
-
let systolicValidation: VitalPropertyValidation, diastolicValidation: VitalPropertyValidation, elems_7: Iterable<ReactElement>, elems_3: Iterable<ReactElement>, elems_2: Iterable<ReactElement>, elems_6: Iterable<ReactElement>, elems_4: Iterable<ReactElement>,
|
|
198
|
+
return withLabelAndError(config.Attributes.Label, config.ShowError, config.Error, createElement<any>("div", createObj(ofArray([["className", "space-y-2.5"] as [string, any], (elems_16 = toList<ReactElement>(delay<ReactElement>((): Iterable<ReactElement> => {
|
|
199
|
+
let elems_12: Iterable<ReactElement>;
|
|
200
|
+
return append<ReactElement>(singleton<ReactElement>(createElement<any>("div", createObj(ofArray([["className", "grid grid-cols-1 auto-rows-min content-start items-start gap-2 md:grid-cols-2 lg:grid-cols-3"] as [string, any], (elems_12 = toList<ReactElement>(delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(vitalsConfig.IncludeTemperature ? singleton<ReactElement>(createVitalInput("Temperature", "temperature", temperature, patternInput[1], "Normal: 97-99°F", "98.6")) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => {
|
|
201
|
+
let systolicValidation: VitalPropertyValidation, diastolicValidation: VitalPropertyValidation, elems_7: Iterable<ReactElement>, elems_3: Iterable<ReactElement>, elems_2: Iterable<ReactElement>, elems_6: Iterable<ReactElement>, elems_4: Iterable<ReactElement>, value_74: string, elems_5: Iterable<ReactElement>, value_93: string;
|
|
143
202
|
return append<ReactElement>(vitalsConfig.IncludeBP ? ((systolicValidation = validateVitalsProperty("systolic_bp", systolicBP), (diastolicValidation = validateVitalsProperty("diastolic_bp", diastolicBP), singleton<ReactElement>(createElement<any>("div", createObj(ofArray([["className", "rounded-lg border border-slate-200 bg-white p-2.5 shadow-sm"] as [string, any], (elems_7 = [createElement<any>("div", createObj(ofArray([["className", "flex items-center justify-between gap-3"] as [string, any], (elems_3 = [createElement<any>("label", {
|
|
144
203
|
className: "text-xs font-semibold uppercase tracking-wide text-slate-700",
|
|
145
204
|
children: "Blood Pressure",
|
|
146
205
|
}), createElement<any>("div", createObj(ofArray([["className", "inline-flex gap-2"] as [string, any], (elems_2 = [statusBadge(systolicValidation.ClinicalStatus), statusBadge(diastolicValidation.ClinicalStatus)], ["children", reactApi.Children.toArray(Array.from(elems_2))] as [string, any])])))], ["children", reactApi.Children.toArray(Array.from(elems_3))] as [string, any])]))), createElement<any>("div", createObj(ofArray([["className", "mt-1 grid grid-cols-[1fr_auto_1fr] items-center gap-1.5"] as [string, any], (elems_6 = [createElement<any>("div", createObj(singleton_1((elems_4 = [createElement<any>("label", {
|
|
147
206
|
className: "text-[11px] font-medium text-slate-600",
|
|
148
207
|
children: "Systolic",
|
|
149
|
-
}), createElement<any>("input", createObj(ofArray([["type", "number"] as [string, any], (
|
|
208
|
+
}), createElement<any>("input", createObj(ofArray([["type", "number"] as [string, any], (value_74 = "mt-1 block w-full rounded-md border border-slate-300 bg-white px-2.5 py-1.5 text-sm shadow-sm placeholder:text-slate-400 focus:border-sky-500 focus:outline-none focus:ring-2 focus:ring-sky-500/30 disabled:cursor-not-allowed disabled:bg-slate-100 disabled:text-slate-500", ["className", value_74] as [string, any]), ["value", systolicBP] as [string, any], ["placeholder", "120"] as [string, any], ["disabled", config.Disabled ? true : config.IsReadOnly] as [string, any], ["onChange", (ev_1: Event): void => {
|
|
150
209
|
patternInput_1[1](ev_1.target.value);
|
|
151
210
|
}] as [string, any]])))], ["children", reactApi.Children.toArray(Array.from(elems_4))] as [string, any])))), createElement<any>("div", {
|
|
152
211
|
className: "pt-4 text-base font-semibold text-slate-500",
|
|
@@ -154,18 +213,64 @@ export function VitalsField_VitalsFieldComponent(config: StandardRenderFieldConf
|
|
|
154
213
|
}), createElement<any>("div", createObj(singleton_1((elems_5 = [createElement<any>("label", {
|
|
155
214
|
className: "text-[11px] font-medium text-slate-600",
|
|
156
215
|
children: "Diastolic",
|
|
157
|
-
}), createElement<any>("input", createObj(ofArray([["type", "number"] as [string, any], (
|
|
216
|
+
}), createElement<any>("input", createObj(ofArray([["type", "number"] as [string, any], (value_93 = "mt-1 block w-full rounded-md border border-slate-300 bg-white px-2.5 py-1.5 text-sm shadow-sm placeholder:text-slate-400 focus:border-sky-500 focus:outline-none focus:ring-2 focus:ring-sky-500/30 disabled:cursor-not-allowed disabled:bg-slate-100 disabled:text-slate-500", ["className", value_93] as [string, any]), ["value", diastolicBP] as [string, any], ["placeholder", "80"] as [string, any], ["disabled", config.Disabled ? true : config.IsReadOnly] as [string, any], ["onChange", (ev_2: Event): void => {
|
|
158
217
|
patternInput_2[1](ev_2.target.value);
|
|
159
218
|
}] as [string, any]])))], ["children", reactApi.Children.toArray(Array.from(elems_5))] as [string, any]))))], ["children", reactApi.Children.toArray(Array.from(elems_6))] as [string, any])]))), createElement<any>("p", {
|
|
160
219
|
className: "mt-1 text-[11px] text-slate-500",
|
|
161
220
|
children: "mmHg",
|
|
162
|
-
})], ["children", reactApi.Children.toArray(Array.from(elems_7))] as [string, any])]))))))) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(vitalsConfig.IncludePulse ? singleton<ReactElement>(createVitalInput("Pulse Rate", "pulse", pulse, patternInput_3[1], "BPM", "72")) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(vitalsConfig.IncludeRespiration ? singleton<ReactElement>(createVitalInput("Respiration Rate", "respiration", respiration, patternInput_4[1], "per minute", "16")) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(vitalsConfig.IncludeOxygenSat ? singleton<ReactElement>(createVitalInput("Oxygen Saturation", "oxygen_saturation", oxygenSat, patternInput_5[1], "%", "98")) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => (vitalsConfig.IncludePainScale ? singleton<ReactElement>(createVitalInput("Pain Scale", "pain_scale", painScale, patternInput_6[1], "0-10 scale", "0")) : empty<ReactElement>())
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
221
|
+
})], ["children", reactApi.Children.toArray(Array.from(elems_7))] as [string, any])]))))))) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(vitalsConfig.IncludePulse ? singleton<ReactElement>(createVitalInput("Pulse Rate", "pulse", pulse, patternInput_3[1], "BPM", "72")) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(vitalsConfig.IncludeRespiration ? singleton<ReactElement>(createVitalInput("Respiration Rate", "respiration", respiration, patternInput_4[1], "per minute", "16")) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(vitalsConfig.IncludeOxygenSat ? singleton<ReactElement>(createVitalInput("Oxygen Saturation", "oxygen_saturation", oxygenSat, patternInput_5[1], "%", "98")) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>(vitalsConfig.IncludePainScale ? singleton<ReactElement>(createVitalInput("Pain Scale", "pain_scale", painScale, patternInput_6[1], "0-10 scale", "0")) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => {
|
|
222
|
+
let isImperial: boolean, elems_9: Iterable<ReactElement>, elems_8: Iterable<ReactElement>;
|
|
223
|
+
return append<ReactElement>((vitalsConfig.IncludeWeight ? true : vitalsConfig.IncludeHeight) ? ((isImperial = equals(unitSystem, UnitSystem_Imperial()), singleton<ReactElement>(createElement<any>("div", createObj(ofArray([["className", "col-span-full flex items-center justify-end gap-2 -mt-1"] as [string, any], (elems_9 = [createElement<any>("span", {
|
|
224
|
+
className: "text-xs text-slate-500",
|
|
225
|
+
children: "Units:",
|
|
226
|
+
}), createElement<any>("div", createObj(ofArray([["className", "inline-flex rounded-md border border-slate-200 text-[10px]"] as [string, any], (elems_8 = [createElement<any>("button", {
|
|
227
|
+
className: isImperial ? "px-2.5 py-0.5 bg-sky-100 text-sky-700 rounded-l-md font-medium" : "px-2.5 py-0.5 text-slate-500 rounded-l-md hover:bg-slate-50",
|
|
228
|
+
children: "Imperial (lbs/in)",
|
|
229
|
+
onClick: (_arg: MouseEvent): void => {
|
|
230
|
+
setUnitSystem(UnitSystem_Imperial());
|
|
231
|
+
},
|
|
232
|
+
}), createElement<any>("button", {
|
|
233
|
+
className: !isImperial ? "px-2.5 py-0.5 bg-sky-100 text-sky-700 rounded-r-md font-medium" : "px-2.5 py-0.5 text-slate-500 rounded-r-md hover:bg-slate-50",
|
|
234
|
+
children: "Metric (kg/cm)",
|
|
235
|
+
onClick: (_arg_1: MouseEvent): void => {
|
|
236
|
+
setUnitSystem(UnitSystem_Metric());
|
|
237
|
+
},
|
|
238
|
+
})], ["children", reactApi.Children.toArray(Array.from(elems_8))] as [string, any])])))], ["children", reactApi.Children.toArray(Array.from(elems_9))] as [string, any])])))))) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => {
|
|
239
|
+
let weightLabel: string, weightPlaceholder: string;
|
|
240
|
+
return append<ReactElement>(vitalsConfig.IncludeWeight ? ((weightLabel = (equals(unitSystem, UnitSystem_Imperial()) ? "Weight (lbs)" : "Weight (kg)"), (weightPlaceholder = (equals(unitSystem, UnitSystem_Imperial()) ? "150" : "68"), singleton<ReactElement>(createVitalInput(weightLabel, "weight", weight, patternInput_7[1], equals(unitSystem, UnitSystem_Imperial()) ? "Pounds" : "Kilograms", weightPlaceholder))))) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => {
|
|
241
|
+
let heightLabel: string, heightPlaceholder: string;
|
|
242
|
+
return append<ReactElement>(vitalsConfig.IncludeHeight ? ((heightLabel = (equals(unitSystem, UnitSystem_Imperial()) ? "Height (in)" : "Height (cm)"), (heightPlaceholder = (equals(unitSystem, UnitSystem_Imperial()) ? "68" : "173"), singleton<ReactElement>(createVitalInput(heightLabel, "height", height, patternInput_8[1], equals(unitSystem, UnitSystem_Imperial()) ? "Inches" : "Centimeters", heightPlaceholder))))) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => {
|
|
243
|
+
let elems_11: Iterable<ReactElement>, elems_10: Iterable<ReactElement>;
|
|
244
|
+
if ((vitalsConfig.IncludeWeight && vitalsConfig.IncludeHeight) && (computedBMI != null)) {
|
|
245
|
+
const bmi: float64 = value_202(computedBMI);
|
|
246
|
+
const patternInput_11: [string, string] = (bmi < 18.5) ? (["bg-amber-100 text-amber-700 border-amber-200", "Underweight"] as [string, string]) : ((bmi < 25) ? (["bg-emerald-100 text-emerald-700 border-emerald-200", "Normal"] as [string, string]) : ((bmi < 30) ? (["bg-amber-100 text-amber-700 border-amber-200", "Overweight"] as [string, string]) : (["bg-red-100 text-red-700 border-red-200", "Obese"] as [string, string])));
|
|
247
|
+
return singleton<ReactElement>(createElement<any>("div", createObj(ofArray([["className", "rounded-lg border border-slate-200 bg-white p-2.5 shadow-sm"] as [string, any], (elems_11 = [createElement<any>("div", createObj(ofArray([["className", "flex items-center justify-between gap-3"] as [string, any], (elems_10 = [createElement<any>("label", {
|
|
248
|
+
className: "text-xs font-semibold uppercase tracking-wide text-slate-700",
|
|
249
|
+
children: "BMI",
|
|
250
|
+
}), createElement<any>("span", {
|
|
251
|
+
className: "inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium border " + patternInput_11[0],
|
|
252
|
+
children: patternInput_11[1],
|
|
253
|
+
})], ["children", reactApi.Children.toArray(Array.from(elems_10))] as [string, any])]))), createElement<any>("div", {
|
|
254
|
+
className: "mt-1 text-lg font-semibold text-slate-900",
|
|
255
|
+
children: toText(printf("%.1f"))(bmi),
|
|
256
|
+
}), createElement<any>("p", {
|
|
257
|
+
className: "mt-1 text-[11px] text-slate-500",
|
|
258
|
+
children: "Auto-computed",
|
|
259
|
+
})], ["children", reactApi.Children.toArray(Array.from(elems_11))] as [string, any])]))));
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
return empty<ReactElement>();
|
|
263
|
+
}
|
|
264
|
+
}));
|
|
265
|
+
}));
|
|
266
|
+
}));
|
|
267
|
+
}))))))))));
|
|
268
|
+
})))), ["children", reactApi.Children.toArray(Array.from(elems_12))] as [string, any])])))), delay<ReactElement>((): Iterable<ReactElement> => {
|
|
269
|
+
let elems_15: Iterable<ReactElement>, elems_14: Iterable<ReactElement>, elems_13: Iterable<ReactElement>;
|
|
270
|
+
return exists<string>((s_2: string): boolean => !isNullOrWhiteSpace(s_2), ofArray([temperature, systolicBP, diastolicBP, pulse, respiration, oxygenSat, painScale, weight, height])) ? singleton<ReactElement>(createElement<any>("div", createObj(ofArray([["className", "rounded-lg border border-sky-200 bg-sky-50/60 p-2.5 shadow-sm"] as [string, any], (elems_15 = [createElement<any>("h6", {
|
|
166
271
|
className: "text-xs font-semibold uppercase tracking-wide text-sky-900",
|
|
167
272
|
children: "📋 Vital Signs Summary",
|
|
168
|
-
}), createElement<any>("div", createObj(ofArray([["className", "mt-1.5 text-xs text-slate-700"] as [string, any], (
|
|
273
|
+
}), createElement<any>("div", createObj(ofArray([["className", "mt-1.5 text-xs text-slate-700"] as [string, any], (elems_14 = [createElement<any>("div", createObj(ofArray([["className", "flex flex-wrap gap-1.5"] as [string, any], (elems_13 = toList<ReactElement>(delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>((vitalsConfig.IncludeTemperature && !isNullOrWhiteSpace(temperature)) ? singleton<ReactElement>(createElement<any>("span", {
|
|
169
274
|
className: "rounded-md bg-white/80 px-2 py-0.5",
|
|
170
275
|
children: ("🌡️ Temp " + temperature) + "°F",
|
|
171
276
|
})) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>((vitalsConfig.IncludeBP && (!isNullOrWhiteSpace(systolicBP) ? true : !isNullOrWhiteSpace(diastolicBP))) ? singleton<ReactElement>(createElement<any>("span", {
|
|
@@ -180,12 +285,24 @@ export function VitalsField_VitalsFieldComponent(config: StandardRenderFieldConf
|
|
|
180
285
|
})) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>((vitalsConfig.IncludeOxygenSat && !isNullOrWhiteSpace(oxygenSat)) ? singleton<ReactElement>(createElement<any>("span", {
|
|
181
286
|
className: "rounded-md bg-white/80 px-2 py-0.5",
|
|
182
287
|
children: ("🩸 O2 " + oxygenSat) + "%",
|
|
183
|
-
})) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => ((vitalsConfig.IncludePainScale && !isNullOrWhiteSpace(painScale)) ? singleton<ReactElement>(createElement<any>("span", {
|
|
288
|
+
})) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>((vitalsConfig.IncludePainScale && !isNullOrWhiteSpace(painScale)) ? singleton<ReactElement>(createElement<any>("span", {
|
|
184
289
|
className: "rounded-md bg-white/80 px-2 py-0.5",
|
|
185
290
|
children: ("😖 Pain " + painScale) + "/10",
|
|
186
|
-
})) : empty<ReactElement>()
|
|
291
|
+
})) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>((vitalsConfig.IncludeWeight && !isNullOrWhiteSpace(weight)) ? singleton<ReactElement>(createElement<any>("span", {
|
|
292
|
+
className: "rounded-md bg-white/80 px-2 py-0.5",
|
|
293
|
+
children: (("⚖️ " + weight) + " ") + (equals(unitSystem, UnitSystem_Imperial()) ? "lbs" : "kg"),
|
|
294
|
+
})) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => append<ReactElement>((vitalsConfig.IncludeHeight && !isNullOrWhiteSpace(height)) ? singleton<ReactElement>(createElement<any>("span", {
|
|
295
|
+
className: "rounded-md bg-white/80 px-2 py-0.5",
|
|
296
|
+
children: (("📏 " + height) + " ") + (equals(unitSystem, UnitSystem_Imperial()) ? "in" : "cm"),
|
|
297
|
+
})) : empty<ReactElement>(), delay<ReactElement>((): Iterable<ReactElement> => {
|
|
298
|
+
let arg_1: float64;
|
|
299
|
+
return (computedBMI != null) ? singleton<ReactElement>(createElement<any>("span", {
|
|
300
|
+
className: "rounded-md bg-white/80 px-2 py-0.5",
|
|
301
|
+
children: (arg_1 = value_202(computedBMI), toText(printf("BMI %.1f"))(arg_1)),
|
|
302
|
+
})) : empty<ReactElement>();
|
|
303
|
+
})))))))))))))))))), ["children", reactApi.Children.toArray(Array.from(elems_13))] as [string, any])])))], ["children", reactApi.Children.toArray(Array.from(elems_14))] as [string, any])])))], ["children", reactApi.Children.toArray(Array.from(elems_15))] as [string, any])])))) : empty<ReactElement>();
|
|
187
304
|
}));
|
|
188
|
-
})), ["children", reactApi.Children.toArray(Array.from(
|
|
305
|
+
})), ["children", reactApi.Children.toArray(Array.from(elems_16))] as [string, any])]))));
|
|
189
306
|
}
|
|
190
307
|
|
|
191
308
|
export class VitalsField_Field$1<Values> extends IStandardField$3<Values, string, VitalsField_Attributes> implements IField$1<Values> {
|
|
@@ -231,9 +348,13 @@ export const Form_PropertyKeys_OxygenSaturation: Shared_PluginPropertyKey = new
|
|
|
231
348
|
|
|
232
349
|
export const Form_PropertyKeys_PainScale: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("67890123-4567-89ab-cdef-0123456789ef");
|
|
233
350
|
|
|
351
|
+
export const Form_PropertyKeys_Weight: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("78901234-5678-9abc-def0-123456789abc");
|
|
352
|
+
|
|
353
|
+
export const Form_PropertyKeys_Height: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("89012345-6789-abcd-ef01-23456789abcd");
|
|
354
|
+
|
|
234
355
|
export const Form_enhancedVitalsConverter: IPluginValueConverter = new IPluginValueConverter((fieldKey: Shared_FieldKey, pluginValue: any): Option<Shared_FieldValue_$union> => {
|
|
235
356
|
const vitalsData: VitalsData = pluginValue;
|
|
236
|
-
return Shared_FieldValue_PluginData(toList<Shared_PluginDataProperty>(delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.Temperature != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float",
|
|
357
|
+
return Shared_FieldValue_PluginData(toList<Shared_PluginDataProperty>(delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.Temperature != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", value_202(vitalsData.Temperature).toString(), "Temperature", "°F", "Body temperature in Fahrenheit")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.SystolicBP != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", value_202(vitalsData.SystolicBP).toString(), "Systolic BP", "mmHg", "Systolic blood pressure")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.DiastolicBP != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", value_202(vitalsData.DiastolicBP).toString(), "Diastolic BP", "mmHg", "Diastolic blood pressure")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.Pulse != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", value_202(vitalsData.Pulse).toString(), "Pulse Rate", "BPM", "Heart rate in beats per minute")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.Respiration != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", value_202(vitalsData.Respiration).toString(), "Respiration Rate", "RPM", "Respiratory rate per minute")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.OxygenSaturation != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", value_202(vitalsData.OxygenSaturation).toString(), "O2 Saturation", "%", "Oxygen saturation percentage")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.PainScale != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", value_202(vitalsData.PainScale).toString(), "Pain Level", "/10", "Pain scale from 0 to 10")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData.Weight != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", value_202(vitalsData.Weight).toString(), "Weight", undefined, "Body weight")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => ((vitalsData.Height != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", value_202(vitalsData.Height).toString(), "Height", undefined, "Body height")) : empty<Shared_PluginDataProperty>()))))))))))))))))))));
|
|
237
358
|
}, (fieldValue: Shared_FieldValue_$union): Option<any> => {
|
|
238
359
|
switch (fieldValue.tag) {
|
|
239
360
|
case /* PluginData */ 3: {
|
|
@@ -251,20 +372,21 @@ export const Form_enhancedVitalsConverter: IPluginValueConverter = new IPluginVa
|
|
|
251
372
|
return undefined;
|
|
252
373
|
}
|
|
253
374
|
}, tryFind<Shared_PluginDataProperty>((p: Shared_PluginDataProperty): boolean => (p.Name === name), properties));
|
|
254
|
-
|
|
375
|
+
const unitSystem: UnitSystem_$union = (defaultArg(map<Shared_PluginDataProperty, string>((p_3: Shared_PluginDataProperty): string => p_3.Value, tryFind<Shared_PluginDataProperty>((p_2: Shared_PluginDataProperty): boolean => (p_2.Name === "unit_system"), properties)), "imperial") === "metric") ? UnitSystem_Metric() : UnitSystem_Imperial();
|
|
376
|
+
return some(new VitalsData(getPropertyValue("temperature"), getPropertyValue("systolic_bp"), getPropertyValue("diastolic_bp"), getPropertyValue("pulse"), getPropertyValue("respiration"), getPropertyValue("oxygen_saturation"), getPropertyValue("pain_scale"), getPropertyValue("weight"), getPropertyValue("height"), unitSystem));
|
|
255
377
|
}
|
|
256
378
|
case /* Single */ 0:
|
|
257
379
|
return some(parseVitalsData(fieldValue.fields[0].Value));
|
|
258
380
|
default:
|
|
259
381
|
return undefined;
|
|
260
382
|
}
|
|
261
|
-
}, (): Option<FSharpList<Shared_FieldOption>> => undefined, (): FSharpList<string> => ofArray(["temperature", "systolic_bp", "diastolic_bp", "pulse", "respiration", "oxygen_saturation", "pain_scale"]), (propertyName: string): Option<Shared_PluginDataProperty> => ((propertyName === "temperature") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", "", "Temperature", "°F", "Body temperature in Fahrenheit")) : ((propertyName === "systolic_bp") ? (new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", "", "Systolic BP", "mmHg", "Systolic blood pressure")) : ((propertyName === "diastolic_bp") ? (new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", "", "Diastolic BP", "mmHg", "Diastolic blood pressure")) : ((propertyName === "pulse") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", "", "Pulse Rate", "BPM", "Heart rate in beats per minute")) : ((propertyName === "respiration") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", "", "Respiration Rate", "RPM", "Respiratory rate per minute")) : ((propertyName === "oxygen_saturation") ? (new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", "", "O2 Saturation", "%", "Oxygen saturation percentage")) : ((propertyName === "pain_scale") ? (new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", "", "Pain Level", "/10", "Pain scale from 0 to 10")) : undefined))))))), (propertyKey: Shared_PluginPropertyKey): Option<Shared_PluginDataProperty> => (equals(propertyKey, Form_PropertyKeys_Temperature) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", "", "Temperature", "°F", "Body temperature in Fahrenheit")) : (equals(propertyKey, Form_PropertyKeys_SystolicBP) ? (new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", "", "Systolic BP", "mmHg", "Systolic blood pressure")) : (equals(propertyKey, Form_PropertyKeys_DiastolicBP) ? (new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", "", "Diastolic BP", "mmHg", "Diastolic blood pressure")) : (equals(propertyKey, Form_PropertyKeys_Pulse) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", "", "Pulse Rate", "BPM", "Heart rate in beats per minute")) : (equals(propertyKey, Form_PropertyKeys_Respiration) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", "", "Respiration Rate", "RPM", "Respiratory rate per minute")) : (equals(propertyKey, Form_PropertyKeys_OxygenSaturation) ? (new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", "", "O2 Saturation", "%", "Oxygen saturation percentage")) : (equals(propertyKey, Form_PropertyKeys_PainScale) ? (new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", "", "Pain Level", "/10", "Pain scale from 0 to 10")) : undefined))))))), (propertyName_1: string, fieldValue_1: Shared_FieldValue_$union): Option<Shared_PluginDataProperty> => {
|
|
383
|
+
}, (): Option<FSharpList<Shared_FieldOption>> => undefined, (): FSharpList<string> => ofArray(["temperature", "systolic_bp", "diastolic_bp", "pulse", "respiration", "oxygen_saturation", "pain_scale", "weight", "height"]), (propertyName: string): Option<Shared_PluginDataProperty> => ((propertyName === "temperature") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", "", "Temperature", "°F", "Body temperature in Fahrenheit")) : ((propertyName === "systolic_bp") ? (new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", "", "Systolic BP", "mmHg", "Systolic blood pressure")) : ((propertyName === "diastolic_bp") ? (new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", "", "Diastolic BP", "mmHg", "Diastolic blood pressure")) : ((propertyName === "pulse") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", "", "Pulse Rate", "BPM", "Heart rate in beats per minute")) : ((propertyName === "respiration") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", "", "Respiration Rate", "RPM", "Respiratory rate per minute")) : ((propertyName === "oxygen_saturation") ? (new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", "", "O2 Saturation", "%", "Oxygen saturation percentage")) : ((propertyName === "pain_scale") ? (new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", "", "Pain Level", "/10", "Pain scale from 0 to 10")) : ((propertyName === "weight") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", "", "Weight", undefined, "Body weight")) : ((propertyName === "height") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", "", "Height", undefined, "Body height")) : undefined))))))))), (propertyKey: Shared_PluginPropertyKey): Option<Shared_PluginDataProperty> => (equals(propertyKey, Form_PropertyKeys_Temperature) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", "", "Temperature", "°F", "Body temperature in Fahrenheit")) : (equals(propertyKey, Form_PropertyKeys_SystolicBP) ? (new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", "", "Systolic BP", "mmHg", "Systolic blood pressure")) : (equals(propertyKey, Form_PropertyKeys_DiastolicBP) ? (new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", "", "Diastolic BP", "mmHg", "Diastolic blood pressure")) : (equals(propertyKey, Form_PropertyKeys_Pulse) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", "", "Pulse Rate", "BPM", "Heart rate in beats per minute")) : (equals(propertyKey, Form_PropertyKeys_Respiration) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", "", "Respiration Rate", "RPM", "Respiratory rate per minute")) : (equals(propertyKey, Form_PropertyKeys_OxygenSaturation) ? (new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", "", "O2 Saturation", "%", "Oxygen saturation percentage")) : (equals(propertyKey, Form_PropertyKeys_PainScale) ? (new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", "", "Pain Level", "/10", "Pain scale from 0 to 10")) : (equals(propertyKey, Form_PropertyKeys_Weight) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", "", "Weight", undefined, "Body weight")) : (equals(propertyKey, Form_PropertyKeys_Height) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", "", "Height", undefined, "Body height")) : undefined))))))))), (propertyName_1: string, fieldValue_1: Shared_FieldValue_$union): Option<Shared_PluginDataProperty> => {
|
|
262
384
|
switch (fieldValue_1.tag) {
|
|
263
385
|
case /* PluginData */ 3:
|
|
264
|
-
return tryFind<Shared_PluginDataProperty>((
|
|
386
|
+
return tryFind<Shared_PluginDataProperty>((p_4: Shared_PluginDataProperty): boolean => (p_4.Name === propertyName_1), fieldValue_1.fields[0]);
|
|
265
387
|
case /* Single */ 0: {
|
|
266
388
|
const vitalsData_1: VitalsData = parseVitalsData(fieldValue_1.fields[0].Value);
|
|
267
|
-
return (propertyName_1 === "temperature") ? map<float64, Shared_PluginDataProperty>((v_1: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", v_1.toString(), "Temperature", "°F", "Body temperature in Fahrenheit")), vitalsData_1.Temperature) : ((propertyName_1 === "systolic_bp") ? map<float64, Shared_PluginDataProperty>((v_2: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", v_2.toString(), "Systolic BP", "mmHg", "Systolic blood pressure")), vitalsData_1.SystolicBP) : ((propertyName_1 === "diastolic_bp") ? map<float64, Shared_PluginDataProperty>((v_3: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", v_3.toString(), "Diastolic BP", "mmHg", "Diastolic blood pressure")), vitalsData_1.DiastolicBP) : ((propertyName_1 === "pulse") ? map<float64, Shared_PluginDataProperty>((v_4: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", v_4.toString(), "Pulse Rate", "BPM", "Heart rate in beats per minute")), vitalsData_1.Pulse) : ((propertyName_1 === "respiration") ? map<float64, Shared_PluginDataProperty>((v_5: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", v_5.toString(), "Respiration Rate", "RPM", "Respiratory rate per minute")), vitalsData_1.Respiration) : ((propertyName_1 === "oxygen_saturation") ? map<float64, Shared_PluginDataProperty>((v_6: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", v_6.toString(), "O2 Saturation", "%", "Oxygen saturation percentage")), vitalsData_1.OxygenSaturation) : ((propertyName_1 === "pain_scale") ? map<float64, Shared_PluginDataProperty>((v_7: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", v_7.toString(), "Pain Level", "/10", "Pain scale from 0 to 10")), vitalsData_1.PainScale) : undefined))))));
|
|
389
|
+
return (propertyName_1 === "temperature") ? map<float64, Shared_PluginDataProperty>((v_1: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", v_1.toString(), "Temperature", "°F", "Body temperature in Fahrenheit")), vitalsData_1.Temperature) : ((propertyName_1 === "systolic_bp") ? map<float64, Shared_PluginDataProperty>((v_2: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", v_2.toString(), "Systolic BP", "mmHg", "Systolic blood pressure")), vitalsData_1.SystolicBP) : ((propertyName_1 === "diastolic_bp") ? map<float64, Shared_PluginDataProperty>((v_3: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", v_3.toString(), "Diastolic BP", "mmHg", "Diastolic blood pressure")), vitalsData_1.DiastolicBP) : ((propertyName_1 === "pulse") ? map<float64, Shared_PluginDataProperty>((v_4: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", v_4.toString(), "Pulse Rate", "BPM", "Heart rate in beats per minute")), vitalsData_1.Pulse) : ((propertyName_1 === "respiration") ? map<float64, Shared_PluginDataProperty>((v_5: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", v_5.toString(), "Respiration Rate", "RPM", "Respiratory rate per minute")), vitalsData_1.Respiration) : ((propertyName_1 === "oxygen_saturation") ? map<float64, Shared_PluginDataProperty>((v_6: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", v_6.toString(), "O2 Saturation", "%", "Oxygen saturation percentage")), vitalsData_1.OxygenSaturation) : ((propertyName_1 === "pain_scale") ? map<float64, Shared_PluginDataProperty>((v_7: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", v_7.toString(), "Pain Level", "/10", "Pain scale from 0 to 10")), vitalsData_1.PainScale) : ((propertyName_1 === "weight") ? map<float64, Shared_PluginDataProperty>((v_8: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", v_8.toString(), "Weight", undefined, "Body weight")), vitalsData_1.Weight) : ((propertyName_1 === "height") ? map<float64, Shared_PluginDataProperty>((v_9: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", v_9.toString(), "Height", undefined, "Body height")), vitalsData_1.Height) : undefined))))))));
|
|
268
390
|
}
|
|
269
391
|
default:
|
|
270
392
|
return undefined;
|
|
@@ -272,72 +394,88 @@ export const Form_enhancedVitalsConverter: IPluginValueConverter = new IPluginVa
|
|
|
272
394
|
}, (propertyKey_1: Shared_PluginPropertyKey, fieldValue_2: Shared_FieldValue_$union): Option<Shared_PluginDataProperty> => {
|
|
273
395
|
switch (fieldValue_2.tag) {
|
|
274
396
|
case /* PluginData */ 3:
|
|
275
|
-
return tryFind<Shared_PluginDataProperty>((
|
|
397
|
+
return tryFind<Shared_PluginDataProperty>((p_5: Shared_PluginDataProperty): boolean => equals(p_5.PropertyKey, propertyKey_1), fieldValue_2.fields[0]);
|
|
276
398
|
case /* Single */ 0: {
|
|
277
399
|
const vitalsData_2: VitalsData = parseVitalsData(fieldValue_2.fields[0].Value);
|
|
278
|
-
return equals(propertyKey_1, Form_PropertyKeys_Temperature) ? map<float64, Shared_PluginDataProperty>((
|
|
400
|
+
return equals(propertyKey_1, Form_PropertyKeys_Temperature) ? map<float64, Shared_PluginDataProperty>((v_10: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", v_10.toString(), "Temperature", "°F", "Body temperature in Fahrenheit")), vitalsData_2.Temperature) : (equals(propertyKey_1, Form_PropertyKeys_SystolicBP) ? map<float64, Shared_PluginDataProperty>((v_11: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", v_11.toString(), "Systolic BP", "mmHg", "Systolic blood pressure")), vitalsData_2.SystolicBP) : (equals(propertyKey_1, Form_PropertyKeys_DiastolicBP) ? map<float64, Shared_PluginDataProperty>((v_12: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", v_12.toString(), "Diastolic BP", "mmHg", "Diastolic blood pressure")), vitalsData_2.DiastolicBP) : (equals(propertyKey_1, Form_PropertyKeys_Pulse) ? map<float64, Shared_PluginDataProperty>((v_13: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", v_13.toString(), "Pulse Rate", "BPM", "Heart rate in beats per minute")), vitalsData_2.Pulse) : (equals(propertyKey_1, Form_PropertyKeys_Respiration) ? map<float64, Shared_PluginDataProperty>((v_14: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", v_14.toString(), "Respiration Rate", "RPM", "Respiratory rate per minute")), vitalsData_2.Respiration) : (equals(propertyKey_1, Form_PropertyKeys_OxygenSaturation) ? map<float64, Shared_PluginDataProperty>((v_15: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", v_15.toString(), "O2 Saturation", "%", "Oxygen saturation percentage")), vitalsData_2.OxygenSaturation) : (equals(propertyKey_1, Form_PropertyKeys_PainScale) ? map<float64, Shared_PluginDataProperty>((v_16: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", v_16.toString(), "Pain Level", "/10", "Pain scale from 0 to 10")), vitalsData_2.PainScale) : (equals(propertyKey_1, Form_PropertyKeys_Weight) ? map<float64, Shared_PluginDataProperty>((v_17: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", v_17.toString(), "Weight", undefined, "Body weight")), vitalsData_2.Weight) : (equals(propertyKey_1, Form_PropertyKeys_Height) ? map<float64, Shared_PluginDataProperty>((v_18: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", v_18.toString(), "Height", undefined, "Body height")), vitalsData_2.Height) : undefined))))))));
|
|
279
401
|
}
|
|
280
402
|
default:
|
|
281
403
|
return undefined;
|
|
282
404
|
}
|
|
283
|
-
}, (propertyName_2: string,
|
|
405
|
+
}, (propertyName_2: string, value_2: string): FSharpResult$2_$union<void, string> => {
|
|
284
406
|
switch (propertyName_2) {
|
|
285
407
|
case "temperature": {
|
|
286
408
|
let matchValue_1: [boolean, float64];
|
|
287
409
|
let outArg_1 = 0;
|
|
288
|
-
matchValue_1 = ([tryParse(
|
|
289
|
-
outArg_1 =
|
|
410
|
+
matchValue_1 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_1, (v_19: float64): void => {
|
|
411
|
+
outArg_1 = v_19;
|
|
290
412
|
})), outArg_1] as [boolean, float64]);
|
|
291
413
|
return matchValue_1[0] ? (isValidTemperature(matchValue_1[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>(("Temperature must be between 95-108°F, got " + matchValue_1[1].toString()) + "°F")) : FSharpResult$2_Error<void, string>("Temperature must be a valid number");
|
|
292
414
|
}
|
|
293
415
|
case "systolic_bp": {
|
|
294
416
|
let matchValue_2: [boolean, float64];
|
|
295
417
|
let outArg_2 = 0;
|
|
296
|
-
matchValue_2 = ([tryParse(
|
|
297
|
-
outArg_2 =
|
|
418
|
+
matchValue_2 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_2, (v_23: float64): void => {
|
|
419
|
+
outArg_2 = v_23;
|
|
298
420
|
})), outArg_2] as [boolean, float64]);
|
|
299
421
|
return matchValue_2[0] ? (isValidSystolicBP(matchValue_2[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>("Systolic BP must be between 60-200 mmHg, got " + matchValue_2[1].toString())) : FSharpResult$2_Error<void, string>("Systolic BP must be a valid number");
|
|
300
422
|
}
|
|
301
423
|
case "diastolic_bp": {
|
|
302
424
|
let matchValue_3: [boolean, float64];
|
|
303
425
|
let outArg_3 = 0;
|
|
304
|
-
matchValue_3 = ([tryParse(
|
|
305
|
-
outArg_3 =
|
|
426
|
+
matchValue_3 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_3, (v_27: float64): void => {
|
|
427
|
+
outArg_3 = v_27;
|
|
306
428
|
})), outArg_3] as [boolean, float64]);
|
|
307
429
|
return matchValue_3[0] ? (isValidDiastolicBP(matchValue_3[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>("Diastolic BP must be between 40-120 mmHg, got " + matchValue_3[1].toString())) : FSharpResult$2_Error<void, string>("Diastolic BP must be a valid number");
|
|
308
430
|
}
|
|
309
431
|
case "pulse": {
|
|
310
432
|
let matchValue_4: [boolean, float64];
|
|
311
433
|
let outArg_4 = 0;
|
|
312
|
-
matchValue_4 = ([tryParse(
|
|
313
|
-
outArg_4 =
|
|
434
|
+
matchValue_4 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_4, (v_31: float64): void => {
|
|
435
|
+
outArg_4 = v_31;
|
|
314
436
|
})), outArg_4] as [boolean, float64]);
|
|
315
437
|
return matchValue_4[0] ? (isValidPulse(matchValue_4[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>("Pulse must be between 40-180 BPM, got " + matchValue_4[1].toString())) : FSharpResult$2_Error<void, string>("Pulse must be a valid number");
|
|
316
438
|
}
|
|
317
439
|
case "respiration": {
|
|
318
440
|
let matchValue_5: [boolean, float64];
|
|
319
441
|
let outArg_5 = 0;
|
|
320
|
-
matchValue_5 = ([tryParse(
|
|
321
|
-
outArg_5 =
|
|
442
|
+
matchValue_5 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_5, (v_35: float64): void => {
|
|
443
|
+
outArg_5 = v_35;
|
|
322
444
|
})), outArg_5] as [boolean, float64]);
|
|
323
445
|
return matchValue_5[0] ? (isValidRespiration(matchValue_5[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>("Respiration rate must be between 8-35 RPM, got " + matchValue_5[1].toString())) : FSharpResult$2_Error<void, string>("Respiration rate must be a valid number");
|
|
324
446
|
}
|
|
325
447
|
case "oxygen_saturation": {
|
|
326
448
|
let matchValue_6: [boolean, float64];
|
|
327
449
|
let outArg_6 = 0;
|
|
328
|
-
matchValue_6 = ([tryParse(
|
|
329
|
-
outArg_6 =
|
|
450
|
+
matchValue_6 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_6, (v_39: float64): void => {
|
|
451
|
+
outArg_6 = v_39;
|
|
330
452
|
})), outArg_6] as [boolean, float64]);
|
|
331
453
|
return matchValue_6[0] ? (isValidOxygenSat(matchValue_6[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>(("Oxygen saturation must be between 70-100%, got " + matchValue_6[1].toString()) + "%")) : FSharpResult$2_Error<void, string>("Oxygen saturation must be a valid number");
|
|
332
454
|
}
|
|
333
455
|
case "pain_scale": {
|
|
334
456
|
let matchValue_7: [boolean, float64];
|
|
335
457
|
let outArg_7 = 0;
|
|
336
|
-
matchValue_7 = ([tryParse(
|
|
337
|
-
outArg_7 =
|
|
458
|
+
matchValue_7 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_7, (v_43: float64): void => {
|
|
459
|
+
outArg_7 = v_43;
|
|
338
460
|
})), outArg_7] as [boolean, float64]);
|
|
339
461
|
return matchValue_7[0] ? (isValidPainScale(matchValue_7[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>("Pain scale must be between 0-10, got " + matchValue_7[1].toString())) : FSharpResult$2_Error<void, string>("Pain scale must be a valid number");
|
|
340
462
|
}
|
|
463
|
+
case "weight": {
|
|
464
|
+
let matchValue_8: [boolean, float64];
|
|
465
|
+
let outArg_8 = 0;
|
|
466
|
+
matchValue_8 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_8, (v_47: float64): void => {
|
|
467
|
+
outArg_8 = v_47;
|
|
468
|
+
})), outArg_8] as [boolean, float64]);
|
|
469
|
+
return matchValue_8[0] ? (isValidWeight(matchValue_8[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>("Weight out of valid range")) : FSharpResult$2_Error<void, string>("Weight must be a valid number");
|
|
470
|
+
}
|
|
471
|
+
case "height": {
|
|
472
|
+
let matchValue_9: [boolean, float64];
|
|
473
|
+
let outArg_9 = 0;
|
|
474
|
+
matchValue_9 = ([tryParse(value_2, new FSharpRef<float64>((): float64 => outArg_9, (v_50: float64): void => {
|
|
475
|
+
outArg_9 = v_50;
|
|
476
|
+
})), outArg_9] as [boolean, float64]);
|
|
477
|
+
return matchValue_9[0] ? (isValidHeight(matchValue_9[1]) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>("Height out of valid range")) : FSharpResult$2_Error<void, string>("Height must be a valid number");
|
|
478
|
+
}
|
|
341
479
|
default:
|
|
342
480
|
return FSharpResult$2_Error<void, string>("Unknown property: " + propertyName_2);
|
|
343
481
|
}
|
|
@@ -347,7 +485,7 @@ export const Form_enhancedVitalsConverter: IPluginValueConverter = new IPluginVa
|
|
|
347
485
|
return fieldValue_3.fields[0];
|
|
348
486
|
case /* Single */ 0: {
|
|
349
487
|
const vitalsData_3: VitalsData = parseVitalsData(fieldValue_3.fields[0].Value);
|
|
350
|
-
return toList<Shared_PluginDataProperty>(delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.Temperature != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float",
|
|
488
|
+
return toList<Shared_PluginDataProperty>(delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.Temperature != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Temperature, "temperature", "float", value_202(vitalsData_3.Temperature).toString(), "Temperature", "°F", "Body temperature in Fahrenheit")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.SystolicBP != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_SystolicBP, "systolic_bp", "float", value_202(vitalsData_3.SystolicBP).toString(), "Systolic BP", "mmHg", "Systolic blood pressure")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.DiastolicBP != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_DiastolicBP, "diastolic_bp", "float", value_202(vitalsData_3.DiastolicBP).toString(), "Diastolic BP", "mmHg", "Diastolic blood pressure")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.Pulse != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Pulse, "pulse", "float", value_202(vitalsData_3.Pulse).toString(), "Pulse Rate", "BPM", "Heart rate in beats per minute")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.Respiration != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Respiration, "respiration", "float", value_202(vitalsData_3.Respiration).toString(), "Respiration Rate", "RPM", "Respiratory rate per minute")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.OxygenSaturation != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_OxygenSaturation, "oxygen_saturation", "float", value_202(vitalsData_3.OxygenSaturation).toString(), "O2 Saturation", "%", "Oxygen saturation percentage")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.PainScale != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_PainScale, "pain_scale", "float", value_202(vitalsData_3.PainScale).toString(), "Pain Level", "/10", "Pain scale from 0 to 10")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => append<Shared_PluginDataProperty>((vitalsData_3.Weight != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", value_202(vitalsData_3.Weight).toString(), "Weight", undefined, "Body weight")) : empty<Shared_PluginDataProperty>(), delay<Shared_PluginDataProperty>((): Iterable<Shared_PluginDataProperty> => ((vitalsData_3.Height != null) ? singleton<Shared_PluginDataProperty>(new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", value_202(vitalsData_3.Height).toString(), "Height", undefined, "Body height")) : empty<Shared_PluginDataProperty>())))))))))))))))))));
|
|
351
489
|
}
|
|
352
490
|
default:
|
|
353
491
|
return empty_1<Shared_PluginDataProperty>();
|
|
@@ -418,7 +556,7 @@ export function Form_markdownRenderer(field: Spec_FormField$1<Spec_FieldType_$un
|
|
|
418
556
|
let rows: FSharpList<string> = ofArray([("**" + field.Label) + "** 🩺", "", "| Vital Sign | Value | Status |", "|------------|-------|--------|"]);
|
|
419
557
|
if (vitalsData.Temperature != null) {
|
|
420
558
|
const v_1: Option<VitalPropertyValidation> = propStatus("temperature");
|
|
421
|
-
rows = append_1(rows, singleton_1(((("| **Temperature** | " + ((arg =
|
|
559
|
+
rows = append_1(rows, singleton_1(((("| **Temperature** | " + ((arg = value_202(vitalsData.Temperature), toText(printf("%.1f"))(arg)))) + "°F | ") + statusEmoji(defaultArg(map<VitalPropertyValidation, string>((p_1: VitalPropertyValidation): string => p_1.ClinicalStatus, v_1), "empty"))) + " |"));
|
|
422
560
|
}
|
|
423
561
|
if ((vitalsData.SystolicBP != null) && (vitalsData.DiastolicBP != null)) {
|
|
424
562
|
const sysV: Option<VitalPropertyValidation> = propStatus("systolic_bp");
|
|
@@ -441,23 +579,23 @@ export function Form_markdownRenderer(field: Spec_FormField$1<Spec_FieldType_$un
|
|
|
441
579
|
}
|
|
442
580
|
};
|
|
443
581
|
worstStatus = ((rank(s) >= rank(d)) ? s : d);
|
|
444
|
-
rows = append_1(rows, singleton_1(((((("| **Blood Pressure** | " + ((arg_1 =
|
|
582
|
+
rows = append_1(rows, singleton_1(((((("| **Blood Pressure** | " + ((arg_1 = value_202(vitalsData.SystolicBP), toText(printf("%.0f"))(arg_1)))) + "/") + ((arg_2 = value_202(vitalsData.DiastolicBP), toText(printf("%.0f"))(arg_2)))) + " mmHg | ") + statusEmoji(worstStatus)) + " |"));
|
|
445
583
|
}
|
|
446
584
|
if (vitalsData.Pulse != null) {
|
|
447
585
|
const v_2: Option<VitalPropertyValidation> = propStatus("pulse");
|
|
448
|
-
rows = append_1(rows, singleton_1(((("| **Pulse Rate** | " + ((arg_3 =
|
|
586
|
+
rows = append_1(rows, singleton_1(((("| **Pulse Rate** | " + ((arg_3 = value_202(vitalsData.Pulse), toText(printf("%.0f"))(arg_3)))) + " BPM | ") + statusEmoji(defaultArg(map<VitalPropertyValidation, string>((p_4: VitalPropertyValidation): string => p_4.ClinicalStatus, v_2), "empty"))) + " |"));
|
|
449
587
|
}
|
|
450
588
|
if (vitalsData.Respiration != null) {
|
|
451
589
|
const v_3: Option<VitalPropertyValidation> = propStatus("respiration");
|
|
452
|
-
rows = append_1(rows, singleton_1(((("| **Respiration** | " + ((arg_4 =
|
|
590
|
+
rows = append_1(rows, singleton_1(((("| **Respiration** | " + ((arg_4 = value_202(vitalsData.Respiration), toText(printf("%.0f"))(arg_4)))) + " RPM | ") + statusEmoji(defaultArg(map<VitalPropertyValidation, string>((p_5: VitalPropertyValidation): string => p_5.ClinicalStatus, v_3), "empty"))) + " |"));
|
|
453
591
|
}
|
|
454
592
|
if (vitalsData.OxygenSaturation != null) {
|
|
455
593
|
const v_4: Option<VitalPropertyValidation> = propStatus("oxygen_saturation");
|
|
456
|
-
rows = append_1(rows, singleton_1(((("| **O2 Saturation** | " + ((arg_5 =
|
|
594
|
+
rows = append_1(rows, singleton_1(((("| **O2 Saturation** | " + ((arg_5 = value_202(vitalsData.OxygenSaturation), toText(printf("%.0f"))(arg_5)))) + "% | ") + statusEmoji(defaultArg(map<VitalPropertyValidation, string>((p_6: VitalPropertyValidation): string => p_6.ClinicalStatus, v_4), "empty"))) + " |"));
|
|
457
595
|
}
|
|
458
596
|
if (vitalsData.PainScale != null) {
|
|
459
597
|
const v_5: Option<VitalPropertyValidation> = propStatus("pain_scale");
|
|
460
|
-
rows = append_1(rows, singleton_1(((("| **Pain Scale** | " + ((arg_6 =
|
|
598
|
+
rows = append_1(rows, singleton_1(((("| **Pain Scale** | " + ((arg_6 = value_202(vitalsData.PainScale), toText(printf("%.0f"))(arg_6)))) + "/10 | ") + statusEmoji(defaultArg(map<VitalPropertyValidation, string>((p_7: VitalPropertyValidation): string => p_7.ClinicalStatus, v_5), "empty"))) + " |"));
|
|
461
599
|
}
|
|
462
600
|
rows = append_1(rows, ofArray(["", "> 📋 *Vital signs recorded with clinical validation and alerts*"]));
|
|
463
601
|
return join("\n", rows);
|