@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.
Files changed (421) hide show
  1. package/FormSpec.FS/BitmaskHelpers.js.map +1 -0
  2. package/FormSpec.FS/BlueprintValidation.js.map +1 -0
  3. package/FormSpec.FS/Components/HelloComponent.js.map +1 -0
  4. package/FormSpec.FS/Designer.js.map +1 -0
  5. package/FormSpec.FS/FormSpec.d.ts +56 -24
  6. package/FormSpec.FS/FormSpec.d.ts.map +1 -1
  7. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/FormSpec.js +172 -12
  8. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/FormSpec.js.map +1 -1
  9. package/FormSpec.FS/FormSpecHelpers.js.map +1 -0
  10. package/FormSpec.FS/FormSpecValues.js.map +1 -0
  11. package/FormSpec.FS/Helpers.js.map +1 -0
  12. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.js.map +1 -0
  13. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.js.map +1 -0
  14. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js +2 -2
  15. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js.map +1 -0
  16. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js.map +1 -0
  17. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.js.map +1 -0
  18. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.js.map +1 -0
  19. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.js.map +1 -0
  20. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.js.map +1 -0
  21. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js.map +1 -0
  22. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.d.ts.map +1 -1
  23. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.js +5 -2
  24. package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.js.map +1 -0
  25. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.d.ts +46 -5
  26. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.d.ts.map +1 -1
  27. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CoreMREncoder.js +354 -36
  28. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js.map +1 -0
  29. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js.map +1 -0
  30. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.d.ts +19 -0
  31. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.d.ts.map +1 -0
  32. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.js +99 -0
  33. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.js.map +1 -0
  34. package/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js.map +1 -0
  35. package/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.js.map +1 -0
  36. package/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.js.map +1 -0
  37. package/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.js.map +1 -0
  38. package/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.js.map +1 -0
  39. package/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.d.ts +1 -1
  40. package/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.d.ts.map +1 -1
  41. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/CorEMR/ItemTriggerConverter.js +18 -10
  42. package/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.js.map +1 -0
  43. package/FormSpec.FS/Integrations/CorEMR/TemplateDecodeTypes.js.map +1 -0
  44. package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.d.ts.map +1 -1
  45. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/CorEMR/TemplateManifestDecoder.js +3 -63
  46. package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.js.map +1 -0
  47. package/FormSpec.FS/Integrations/OpenFda/OpenFdaTypes.js.map +1 -0
  48. package/FormSpec.FS/Interfaces.js.map +1 -0
  49. package/FormSpec.FS/Interop/Facade/BlueprintFilledForm.js.map +1 -0
  50. package/FormSpec.FS/Interop/Facade/FormAnswersGate.js.map +1 -0
  51. package/FormSpec.FS/Interop/FormSpec.Api.Helpers.d.ts.map +1 -1
  52. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/FormSpec.Api.Helpers.js +31 -10
  53. package/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +1 -0
  54. package/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +1 -0
  55. package/FormSpec.FS/Interop/FormSpec.Values.Api.Option.js.map +1 -0
  56. package/FormSpec.FS/Logging/LogTypes.js.map +1 -0
  57. package/FormSpec.FS/Migrator.js.map +1 -0
  58. package/FormSpec.FS/PathwayDataExtractor.d.ts.map +1 -1
  59. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/PathwayDataExtractor.js +67 -42
  60. package/FormSpec.FS/PathwayDataExtractor.js.map +1 -0
  61. package/FormSpec.FS/PathwayExecutor.d.ts.map +1 -1
  62. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/PathwayExecutor.js +20 -6
  63. package/FormSpec.FS/PathwayExecutor.js.map +1 -0
  64. package/FormSpec.FS/PathwayValidator.js.map +1 -0
  65. package/FormSpec.FS/PluginInterface.js.map +1 -0
  66. package/FormSpec.FS/Prelude.js.map +1 -0
  67. package/FormSpec.FS/Provenance.js.map +1 -0
  68. package/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.js.map +1 -0
  69. package/FormSpec.FS/Renderers/MermaidRenderer.js.map +1 -0
  70. package/FormSpec.FS/Renderers/PathwayRenderers.js.map +1 -0
  71. package/FormSpec.FS/TriggerActionDto.d.ts +26 -10
  72. package/FormSpec.FS/TriggerActionDto.d.ts.map +1 -1
  73. package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/TriggerActionDto.js +82 -17
  74. package/FormSpec.FS/TriggerActionDto.js.map +1 -0
  75. package/PathwayExecutor.withPlugins.js.map +1 -0
  76. package/PluginRegistration.js.map +1 -0
  77. package/README.md +7 -7
  78. package/Thoth.Json/packages/Thoth.Json/Decode.d.ts +2 -2
  79. package/Thoth.Json/packages/Thoth.Json/Decode.d.ts.map +1 -1
  80. package/{FormSpec.TS/Thoth.Json → Thoth.Json}/packages/Thoth.Json/Decode.js +69 -63
  81. package/Thoth.Json/packages/Thoth.Json/Decode.js.map +1 -0
  82. package/Thoth.Json/packages/Thoth.Json/Encode.d.ts.map +1 -1
  83. package/{FormSpec.TS/Thoth.Json → Thoth.Json}/packages/Thoth.Json/Encode.js +10 -6
  84. package/Thoth.Json/packages/Thoth.Json/Encode.js.map +1 -0
  85. package/Thoth.Json/packages/Thoth.Json/Extra.js.map +1 -0
  86. package/Thoth.Json/packages/Thoth.Json/Types.js.map +1 -0
  87. package/fable_modules/Fable.Form.3.0.0/Base.fs.js.map +1 -0
  88. package/fable_modules/Fable.Form.3.0.0/Error.fs.js.map +1 -0
  89. package/fable_modules/Fable.Form.3.0.0/Extensions.fs.js.map +1 -0
  90. package/fable_modules/Fable.Form.3.0.0/Field.fs.js.map +1 -0
  91. package/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.js.map +1 -0
  92. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js.map +1 -0
  93. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js.map +1 -0
  94. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js.map +1 -0
  95. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js.map +1 -0
  96. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js.map +1 -0
  97. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js.map +1 -0
  98. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js.map +1 -0
  99. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js.map +1 -0
  100. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js.map +1 -0
  101. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js.map +1 -0
  102. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js.map +1 -0
  103. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js.map +1 -0
  104. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js.map +1 -0
  105. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js.map +1 -0
  106. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js.map +1 -0
  107. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js.map +1 -0
  108. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js.map +1 -0
  109. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js.map +1 -0
  110. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js.map +1 -0
  111. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js.map +1 -0
  112. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js.map +1 -0
  113. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js.map +1 -0
  114. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js.map +1 -0
  115. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js.map +1 -0
  116. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js.map +1 -0
  117. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js.map +1 -0
  118. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js.map +1 -0
  119. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js.map +1 -0
  120. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js.map +1 -0
  121. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js.map +1 -0
  122. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js.map +1 -0
  123. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js.map +1 -0
  124. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js.map +1 -0
  125. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js.map +1 -0
  126. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js.map +1 -0
  127. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js.map +1 -0
  128. package/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js.map +1 -0
  129. package/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js.map +1 -0
  130. package/fable_modules/Fable.Promise.3.2.0/Promise.fs.js.map +1 -0
  131. package/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js.map +1 -0
  132. package/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js.map +1 -0
  133. package/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js.map +1 -0
  134. package/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js.map +1 -0
  135. package/fable_modules/Feliz.2.8.0/Colors.fs.js.map +1 -0
  136. package/fable_modules/Feliz.2.8.0/DateParsing.fs.js.map +1 -0
  137. package/fable_modules/Feliz.2.8.0/Helpers.fs.js.map +1 -0
  138. package/fable_modules/Feliz.2.8.0/Internal.fs.js.map +1 -0
  139. package/fable_modules/Feliz.2.8.0/Interop.fs.js.map +1 -0
  140. package/fable_modules/Feliz.2.8.0/Key.fs.js.map +1 -0
  141. package/fable_modules/Feliz.2.8.0/Properties.fs.js.map +1 -0
  142. package/fable_modules/Feliz.2.8.0/ReactDOM.fs.js.map +1 -0
  143. package/fable_modules/Feliz.2.8.0/ReactInterop.js.map +1 -0
  144. package/fable_modules/Feliz.2.8.0/ReactTypes.fs.js.map +1 -0
  145. package/fable_modules/Feliz.2.8.0/StyleTypes.fs.js.map +1 -0
  146. package/fable_modules/Feliz.2.8.0/Svg.fs.js.map +1 -0
  147. package/fable_modules/Feliz.2.8.0/Types.fs.js.map +1 -0
  148. package/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js.map +1 -0
  149. package/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.js.map +1 -0
  150. package/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.js.map +1 -0
  151. package/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js.map +1 -0
  152. package/package.json +1 -1
  153. package/plugins/allergyfinder/src/AllergyFinderField.js.map +1 -0
  154. package/plugins/allergyfinder/src/AllergyLogic.js.map +1 -0
  155. package/plugins/allergyfinder/src/OpenFdaClient.js.map +1 -0
  156. package/plugins/bmi/src/BMIField.js.map +1 -0
  157. package/plugins/demographics/src/DemographicsField.js.map +1 -0
  158. package/plugins/likert/src/LikertField.js.map +1 -0
  159. package/plugins/signature/src/SignatureField.js.map +1 -0
  160. package/plugins/vitals/src/VitalsField.d.ts +2 -0
  161. package/plugins/vitals/src/VitalsField.d.ts.map +1 -1
  162. package/{FormSpec.TS/plugins → plugins}/vitals/src/VitalsField.js +283 -67
  163. package/plugins/vitals/src/VitalsField.js.map +1 -0
  164. package/plugins/vitals/src/VitalsLogic.d.ts +41 -4
  165. package/plugins/vitals/src/VitalsLogic.d.ts.map +1 -1
  166. package/{FormSpec.TS/plugins → plugins}/vitals/src/VitalsLogic.js +176 -11
  167. package/plugins/vitals/src/VitalsLogic.js.map +1 -0
  168. package/src/FormSpec.FS/FormSpec.ts +98 -26
  169. package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.ts +3 -3
  170. package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.ts +4 -4
  171. package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.ts +334 -67
  172. package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.ts +105 -0
  173. package/src/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.ts +18 -16
  174. package/src/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.ts +12 -86
  175. package/src/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts +30 -11
  176. package/src/FormSpec.FS/PathwayDataExtractor.ts +65 -44
  177. package/src/FormSpec.FS/PathwayExecutor.ts +22 -10
  178. package/src/FormSpec.FS/TriggerActionDto.ts +64 -29
  179. package/src/Thoth.Json/packages/Thoth.Json/Decode.ts +55 -38
  180. package/src/Thoth.Json/packages/Thoth.Json/Encode.ts +16 -10
  181. package/src/plugins/vitals/src/VitalsField.ts +203 -65
  182. package/src/plugins/vitals/src/VitalsLogic.ts +140 -14
  183. package/FormSpec.TS/FormSpec.FS/BitmaskHelpers.js.map +0 -1
  184. package/FormSpec.TS/FormSpec.FS/BlueprintValidation.js.map +0 -1
  185. package/FormSpec.TS/FormSpec.FS/Components/HelloComponent.js.map +0 -1
  186. package/FormSpec.TS/FormSpec.FS/Designer.js.map +0 -1
  187. package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.js.map +0 -1
  188. package/FormSpec.TS/FormSpec.FS/FormSpecValues.js.map +0 -1
  189. package/FormSpec.TS/FormSpec.FS/Helpers.js.map +0 -1
  190. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.js.map +0 -1
  191. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.js.map +0 -1
  192. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js.map +0 -1
  193. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js.map +0 -1
  194. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSectioning.js.map +0 -1
  195. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.js.map +0 -1
  196. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.js.map +0 -1
  197. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.js.map +0 -1
  198. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js.map +0 -1
  199. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTriggerConverter.js.map +0 -1
  200. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js.map +0 -1
  201. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js.map +0 -1
  202. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js.map +0 -1
  203. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/FormSystemAdapter.js.map +0 -1
  204. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.js.map +0 -1
  205. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.js.map +0 -1
  206. package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/CoreMRTypes.js.map +0 -1
  207. package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/ItemTriggerConverter.js.map +0 -1
  208. package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/TemplateDecodeTypes.js.map +0 -1
  209. package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.js.map +0 -1
  210. package/FormSpec.TS/FormSpec.FS/Integrations/OpenFda/OpenFdaTypes.js.map +0 -1
  211. package/FormSpec.TS/FormSpec.FS/Interfaces.js.map +0 -1
  212. package/FormSpec.TS/FormSpec.FS/Interop/Facade/BlueprintFilledForm.js.map +0 -1
  213. package/FormSpec.TS/FormSpec.FS/Interop/Facade/FormAnswersGate.js.map +0 -1
  214. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +0 -1
  215. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +0 -1
  216. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.js.map +0 -1
  217. package/FormSpec.TS/FormSpec.FS/Logging/LogTypes.js.map +0 -1
  218. package/FormSpec.TS/FormSpec.FS/Migrator.js.map +0 -1
  219. package/FormSpec.TS/FormSpec.FS/PathwayDataExtractor.js.map +0 -1
  220. package/FormSpec.TS/FormSpec.FS/PathwayExecutor.js.map +0 -1
  221. package/FormSpec.TS/FormSpec.FS/PathwayValidator.js.map +0 -1
  222. package/FormSpec.TS/FormSpec.FS/PluginInterface.js.map +0 -1
  223. package/FormSpec.TS/FormSpec.FS/Prelude.js.map +0 -1
  224. package/FormSpec.TS/FormSpec.FS/Provenance.js.map +0 -1
  225. package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.js.map +0 -1
  226. package/FormSpec.TS/FormSpec.FS/Renderers/MermaidRenderer.js.map +0 -1
  227. package/FormSpec.TS/FormSpec.FS/Renderers/PathwayRenderers.js.map +0 -1
  228. package/FormSpec.TS/FormSpec.FS/TriggerActionDto.js.map +0 -1
  229. package/FormSpec.TS/PathwayExecutor.withPlugins.js.map +0 -1
  230. package/FormSpec.TS/PluginRegistration.js.map +0 -1
  231. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Decode.js.map +0 -1
  232. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Encode.js.map +0 -1
  233. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Extra.js.map +0 -1
  234. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Types.js.map +0 -1
  235. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs.js.map +0 -1
  236. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs.js.map +0 -1
  237. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs.js.map +0 -1
  238. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs.js.map +0 -1
  239. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.js.map +0 -1
  240. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js.map +0 -1
  241. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js.map +0 -1
  242. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js.map +0 -1
  243. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js.map +0 -1
  244. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js.map +0 -1
  245. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js.map +0 -1
  246. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js.map +0 -1
  247. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js.map +0 -1
  248. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js.map +0 -1
  249. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js.map +0 -1
  250. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js.map +0 -1
  251. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js.map +0 -1
  252. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js.map +0 -1
  253. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js.map +0 -1
  254. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js.map +0 -1
  255. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js.map +0 -1
  256. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js.map +0 -1
  257. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js.map +0 -1
  258. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js.map +0 -1
  259. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js.map +0 -1
  260. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js.map +0 -1
  261. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js.map +0 -1
  262. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js.map +0 -1
  263. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js.map +0 -1
  264. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js.map +0 -1
  265. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js.map +0 -1
  266. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js.map +0 -1
  267. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js.map +0 -1
  268. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js.map +0 -1
  269. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js.map +0 -1
  270. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js.map +0 -1
  271. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js.map +0 -1
  272. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js.map +0 -1
  273. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js.map +0 -1
  274. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js.map +0 -1
  275. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js.map +0 -1
  276. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js.map +0 -1
  277. package/FormSpec.TS/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js.map +0 -1
  278. package/FormSpec.TS/fable_modules/Fable.Promise.3.2.0/Promise.fs.js.map +0 -1
  279. package/FormSpec.TS/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js.map +0 -1
  280. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js.map +0 -1
  281. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js.map +0 -1
  282. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js.map +0 -1
  283. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Colors.fs.js.map +0 -1
  284. package/FormSpec.TS/fable_modules/Feliz.2.8.0/DateParsing.fs.js.map +0 -1
  285. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs.js.map +0 -1
  286. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs.js.map +0 -1
  287. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Interop.fs.js.map +0 -1
  288. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Key.fs.js.map +0 -1
  289. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Properties.fs.js.map +0 -1
  290. package/FormSpec.TS/fable_modules/Feliz.2.8.0/ReactDOM.fs.js.map +0 -1
  291. package/FormSpec.TS/fable_modules/Feliz.2.8.0/ReactInterop.js.map +0 -1
  292. package/FormSpec.TS/fable_modules/Feliz.2.8.0/ReactTypes.fs.js.map +0 -1
  293. package/FormSpec.TS/fable_modules/Feliz.2.8.0/StyleTypes.fs.js.map +0 -1
  294. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Svg.fs.js.map +0 -1
  295. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Types.fs.js.map +0 -1
  296. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js.map +0 -1
  297. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.js.map +0 -1
  298. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.js.map +0 -1
  299. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js.map +0 -1
  300. package/FormSpec.TS/plugins/allergyfinder/src/AllergyFinderField.js.map +0 -1
  301. package/FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.js.map +0 -1
  302. package/FormSpec.TS/plugins/allergyfinder/src/OpenFdaClient.js.map +0 -1
  303. package/FormSpec.TS/plugins/bmi/src/BMIField.js.map +0 -1
  304. package/FormSpec.TS/plugins/demographics/src/DemographicsField.js.map +0 -1
  305. package/FormSpec.TS/plugins/likert/src/LikertField.js.map +0 -1
  306. package/FormSpec.TS/plugins/signature/src/SignatureField.js.map +0 -1
  307. package/FormSpec.TS/plugins/vitals/src/VitalsField.js.map +0 -1
  308. package/FormSpec.TS/plugins/vitals/src/VitalsLogic.js.map +0 -1
  309. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/BitmaskHelpers.js +0 -0
  310. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/BlueprintValidation.js +0 -0
  311. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Components/HelloComponent.js +0 -0
  312. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Designer.js +0 -0
  313. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/FormSpecHelpers.js +0 -0
  314. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/FormSpecValues.js +0 -0
  315. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Helpers.js +0 -0
  316. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRAdapter.js +0 -0
  317. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRElementTypeMap.js +0 -0
  318. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js +0 -0
  319. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRSectioning.js +0 -0
  320. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRSemanticReportBuilder.js +0 -0
  321. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRStepsBuilder.js +0 -0
  322. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.js +0 -0
  323. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js +0 -0
  324. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/CoreMRSourceMap.js +0 -0
  325. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js +0 -0
  326. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/FormSystemAdapter.js +0 -0
  327. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/ReactHookForm/ReactHookFormAdapter.js +0 -0
  328. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/Adapters/ReactHookForm/ReactHookFormTypes.js +0 -0
  329. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/CorEMR/CoreMRTypes.js +0 -0
  330. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/CorEMR/TemplateDecodeTypes.js +0 -0
  331. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Integrations/OpenFda/OpenFdaTypes.js +0 -0
  332. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interfaces.js +0 -0
  333. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/Facade/BlueprintFilledForm.js +0 -0
  334. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/Facade/FormAnswersGate.js +0 -0
  335. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/FormSpec.Api.Option.js +0 -0
  336. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Interop/FormSpec.Values.Api.Option.js +0 -0
  337. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Logging/LogTypes.js +0 -0
  338. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Migrator.js +0 -0
  339. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/PathwayValidator.js +0 -0
  340. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/PluginInterface.js +0 -0
  341. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Prelude.js +0 -0
  342. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Provenance.js +0 -0
  343. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Renderers/FormSpecMarkdownRenderer.js +0 -0
  344. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Renderers/MermaidRenderer.js +0 -0
  345. /package/{FormSpec.TS/FormSpec.FS → FormSpec.FS}/Renderers/PathwayRenderers.js +0 -0
  346. /package/{FormSpec.TS/PathwayExecutor.withPlugins.js → PathwayExecutor.withPlugins.js} +0 -0
  347. /package/{FormSpec.TS/PluginRegistration.js → PluginRegistration.js} +0 -0
  348. /package/{FormSpec.TS/Thoth.Json → Thoth.Json}/packages/Thoth.Json/Extra.js +0 -0
  349. /package/{FormSpec.TS/Thoth.Json → Thoth.Json}/packages/Thoth.Json/Types.js +0 -0
  350. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.3.0.0/Base.fs.js +0 -0
  351. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.3.0.0/Error.fs.js +0 -0
  352. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.3.0.0/Extensions.fs.js +0 -0
  353. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.3.0.0/Field.fs.js +0 -0
  354. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.5.0.1/Form.fs.js +0 -0
  355. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js +0 -0
  356. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js +0 -0
  357. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js +0 -0
  358. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js +0 -0
  359. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js +0 -0
  360. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js +0 -0
  361. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js +0 -0
  362. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js +0 -0
  363. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js +0 -0
  364. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js +0 -0
  365. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js +0 -0
  366. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js +0 -0
  367. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js +0 -0
  368. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js +0 -0
  369. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js +0 -0
  370. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js +0 -0
  371. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js +0 -0
  372. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js +0 -0
  373. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js +0 -0
  374. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js +0 -0
  375. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js +0 -0
  376. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js +0 -0
  377. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js +0 -0
  378. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js +0 -0
  379. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js +0 -0
  380. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js +0 -0
  381. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js +0 -0
  382. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js +0 -0
  383. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js +0 -0
  384. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js +0 -0
  385. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js +0 -0
  386. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js +0 -0
  387. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js +0 -0
  388. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js +0 -0
  389. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js +0 -0
  390. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js +0 -0
  391. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js +0 -0
  392. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Promise.3.2.0/AsyncIterable.fs.js +0 -0
  393. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Promise.3.2.0/Promise.fs.js +0 -0
  394. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.Promise.3.2.0/PromiseImpl.fs.js +0 -0
  395. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js +0 -0
  396. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.React.Types.18.3.0/Fable.React.fs.js +0 -0
  397. /package/{FormSpec.TS/fable_modules → fable_modules}/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js +0 -0
  398. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Colors.fs.js +0 -0
  399. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/DateParsing.fs.js +0 -0
  400. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Helpers.fs.js +0 -0
  401. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Internal.fs.js +0 -0
  402. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Interop.fs.js +0 -0
  403. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Key.fs.js +0 -0
  404. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Properties.fs.js +0 -0
  405. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/ReactDOM.fs.js +0 -0
  406. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/ReactInterop.js +0 -0
  407. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/ReactTypes.fs.js +0 -0
  408. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/StyleTypes.fs.js +0 -0
  409. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Svg.fs.js +0 -0
  410. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.2.8.0/Types.fs.js +0 -0
  411. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.Bulma.3.0.0/ElementBuilders.fs.js +0 -0
  412. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.Bulma.3.0.0/Modifiers.fs.js +0 -0
  413. /package/{FormSpec.TS/fable_modules → fable_modules}/Feliz.Bulma.3.0.0/Operators.fs.js +0 -0
  414. /package/{FormSpec.TS/fable_modules → fable_modules}/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js +0 -0
  415. /package/{FormSpec.TS/plugins → plugins}/allergyfinder/src/AllergyFinderField.js +0 -0
  416. /package/{FormSpec.TS/plugins → plugins}/allergyfinder/src/AllergyLogic.js +0 -0
  417. /package/{FormSpec.TS/plugins → plugins}/allergyfinder/src/OpenFdaClient.js +0 -0
  418. /package/{FormSpec.TS/plugins → plugins}/bmi/src/BMIField.js +0 -0
  419. /package/{FormSpec.TS/plugins → plugins}/demographics/src/DemographicsField.js +0 -0
  420. /package/{FormSpec.TS/plugins → plugins}/likert/src/LikertField.js +0 -0
  421. /package/{FormSpec.TS/plugins → plugins}/signature/src/SignatureField.js +0 -0
@@ -1,21 +1,22 @@
1
1
  import { FSharpRef, Record } from "@fable-org/fable-library-js/Types.js";
2
- import { orElse, defaultArg, map, value as value_3, bind, unwrap, Option } from "@fable-org/fable-library-js/Option.js";
2
+ import { map as map_1, bind, orElse, defaultArg, value as value_21, unwrap, Option } from "@fable-org/fable-library-js/Option.js";
3
3
  import { int32, float64 } from "@fable-org/fable-library-js/Int32.js";
4
4
  import { comparePrimitives, stringHash, uncurry2, IComparable, IEquatable } from "@fable-org/fable-library-js/Util.js";
5
- import { record_type, option_type, float64_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
6
- import { exists, fold, contains, tail, mapIndexed, singleton, tryHead, choose, map as map_1, empty, tryFind, head, isEmpty, FSharpList, collect, filter } from "@fable-org/fable-library-js/List.js";
7
- import { Shared_MatrixItemKey, Shared_MatrixAnswer, Spec_MultiChoiceInfo, Spec_SingleChoiceInfo, Shared_FieldOption, Shared_FieldOptionKey, Shared_FieldKey, Spec_FormSpec$1, Shared_FieldValue, Shared_FieldAnswer, Shared_PluginDataProperty, Shared_FieldValue_$union, Spec_FormStep$1, Spec_FormField$1, Spec_PluginFieldConfig, Spec_FieldType_$union } from "../../../FormSpec.js";
8
- import { split, isNullOrWhiteSpace } from "@fable-org/fable-library-js/String.js";
5
+ import { list_type, int32_type, string_type, anonRecord_type, bool_type, record_type, option_type, float64_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
6
+ import { Auto_generateBoxedEncoder_437914C6, toString } from "../../../../Thoth.Json/packages/Thoth.Json/Encode.js";
7
+ import { ErrorReason_$union, CaseStrategy_CamelCase } from "../../../../Thoth.Json/packages/Thoth.Json/Types.js";
8
+ import { int, IOptionalGetter, IGetters, bool, string, object, list as list_16, int64, field as field_1, fromString } from "../../../../Thoth.Json/packages/Thoth.Json/Decode.js";
9
+ import { FSharpResult$2_Ok, FSharpResult$2_Error, FSharpResult$2_$union } from "@fable-org/fable-library-js/Result.js";
10
+ import { op_LeftShift, op_BitwiseOr, fromInt32, toInt64, int64 as int64_1 } from "@fable-org/fable-library-js/BigInt.js";
11
+ import { fold, contains, exists, tail, mapIndexed, tryHead, choose, singleton, tryFind, map, head, isEmpty, FSharpList, collect, filter, empty } from "@fable-org/fable-library-js/List.js";
12
+ import { Shared_MatrixItemKey, Shared_MatrixAnswer, Spec_MultiChoiceInfo, Spec_SingleChoiceInfo, Shared_FieldOption, Shared_FieldOptionKey, Shared_FieldKey, Shared_PluginDataProperty, Spec_FormSpec$1, Shared_FieldValue, Shared_FieldAnswer, Shared_FieldValue_$union, Spec_FormStep$1, Spec_FormField$1, Spec_PluginFieldConfig, Spec_FieldType_$union } from "../../../FormSpec.js";
13
+ import { split, isNullOrWhiteSpace, join } from "@fable-org/fable-library-js/String.js";
9
14
  import { tryParse } from "@fable-org/fable-library-js/Double.js";
10
15
  import { item } from "@fable-org/fable-library-js/Array.js";
11
- import { Auto_generateBoxedDecoder_Z6670B51, fromString } from "../../../../Thoth.Json/packages/Thoth.Json/Decode.js";
16
+ import { Auto_generateBoxedDecoder_Z6670B51, fromString as fromString_1 } from "../../../../Thoth.Json/packages/Thoth.Json/Decode.js";
12
17
  import { CoreMRStepMap, CoreMRMatrixItemAnchor, CoreMRChoiceAnchor, CoreMRFieldAnchor, CoreMRSourceMap, CoreMRSourceMap_$reflection } from "./CoreMRSourceMap.js";
13
- import { FSharpResult$2_Ok, FSharpResult$2_Error, FSharpResult$2_$union } from "@fable-org/fable-library-js/Result.js";
14
- import { Auto_generateBoxedEncoder_437914C6, toString } from "../../../../Thoth.Json/packages/Thoth.Json/Encode.js";
15
18
  import { CoreMRAnswer, CoreMRFormInsertRequest, CoreMRFormInsertRequest_$reflection } from "./FormSpecToCoreMRInsert.js";
16
- import { CaseStrategy_CamelCase } from "../../../../Thoth.Json/packages/Thoth.Json/Types.js";
17
19
  import { Helpers_canonicalizeFieldKey } from "../../../Helpers.js";
18
- import { op_LeftShift, op_BitwiseOr, int64, fromInt32, toInt64 } from "@fable-org/fable-library-js/BigInt.js";
19
20
  import { toList, FSharpSet } from "@fable-org/fable-library-js/Set.js";
20
21
  import { computeBitmask } from "../../../BitmaskHelpers.js";
21
22
  import { FSharpMap, ofList, tryFind as tryFind_1 } from "@fable-org/fable-library-js/Map.js";
@@ -30,7 +31,9 @@ export class ExtractedVitals extends Record implements IEquatable<ExtractedVital
30
31
  readonly RespiratoryRate: Option<float64>;
31
32
  readonly Spo2: Option<float64>;
32
33
  readonly PainScale: Option<float64>;
33
- constructor(Temperature: Option<float64>, SystolicBp: Option<float64>, DiastolicBp: Option<float64>, HeartRate: Option<float64>, RespiratoryRate: Option<float64>, Spo2: Option<float64>, PainScale: Option<float64>) {
34
+ readonly Weight: Option<float64>;
35
+ readonly Height: Option<float64>;
36
+ constructor(Temperature: Option<float64>, SystolicBp: Option<float64>, DiastolicBp: Option<float64>, HeartRate: Option<float64>, RespiratoryRate: Option<float64>, Spo2: Option<float64>, PainScale: Option<float64>, Weight: Option<float64>, Height: Option<float64>) {
34
37
  super();
35
38
  this.Temperature = Temperature;
36
39
  this.SystolicBp = SystolicBp;
@@ -39,11 +42,13 @@ export class ExtractedVitals extends Record implements IEquatable<ExtractedVital
39
42
  this.RespiratoryRate = RespiratoryRate;
40
43
  this.Spo2 = Spo2;
41
44
  this.PainScale = PainScale;
45
+ this.Weight = Weight;
46
+ this.Height = Height;
42
47
  }
43
48
  }
44
49
 
45
50
  export function ExtractedVitals_$reflection(): TypeInfo {
46
- return record_type("FormSpec.Integrations.CorEMR.CoreMREncoder.ExtractedVitals", [], ExtractedVitals, () => [["Temperature", option_type(float64_type)], ["SystolicBp", option_type(float64_type)], ["DiastolicBp", option_type(float64_type)], ["HeartRate", option_type(float64_type)], ["RespiratoryRate", option_type(float64_type)], ["Spo2", option_type(float64_type)], ["PainScale", option_type(float64_type)]]);
51
+ return record_type("FormSpec.Integrations.CorEMR.CoreMREncoder.ExtractedVitals", [], ExtractedVitals, () => [["Temperature", option_type(float64_type)], ["SystolicBp", option_type(float64_type)], ["DiastolicBp", option_type(float64_type)], ["HeartRate", option_type(float64_type)], ["RespiratoryRate", option_type(float64_type)], ["Spo2", option_type(float64_type)], ["PainScale", option_type(float64_type)], ["Weight", option_type(float64_type)], ["Height", option_type(float64_type)]]);
47
52
  }
48
53
 
49
54
  /**
@@ -51,15 +56,216 @@ export function ExtractedVitals_$reflection(): TypeInfo {
51
56
  * No Extra.* needed - using native Thoth.Json auto generation only
52
57
  * 🩺 Convert extracted vitals to CoreMR bridge API format (camelCase)
53
58
  */
54
- export function vitalsTobridge(vitals: ExtractedVitals): { diastolicBp?: float64, heartRate?: float64, respiratoryRate?: float64, spo2?: float64, systolicBp?: float64, temperature?: float64 } {
59
+ export function vitalsTobridge(vitals: ExtractedVitals): { bmi?: float64, diastolicBp?: float64, heartRate?: float64, height?: float64, respiratoryRate?: float64, spo2?: float64, systolicBp?: float64, temperature?: float64, weight?: float64 } {
60
+ let matchValue: Option<float64>, matchValue_1: Option<float64>, w: float64, h_1: float64, w_1: float64;
55
61
  return {
62
+ bmi: unwrap((matchValue = vitals.Weight, (matchValue_1 = vitals.Height, (matchValue != null) ? ((matchValue_1 != null) ? (((w = value_21(matchValue), value_21(matchValue_1) > 0)) ? ((h_1 = value_21(matchValue_1), (w_1 = value_21(matchValue), (w_1 / (h_1 * h_1)) * 703))) : undefined) : undefined) : undefined))),
56
63
  diastolicBp: unwrap(vitals.DiastolicBp),
57
64
  heartRate: unwrap(vitals.HeartRate),
65
+ height: unwrap(vitals.Height),
58
66
  respiratoryRate: unwrap(vitals.RespiratoryRate),
59
67
  spo2: unwrap(vitals.Spo2),
60
68
  systolicBp: unwrap(vitals.SystolicBp),
61
69
  temperature: unwrap(vitals.Temperature),
70
+ weight: unwrap(vitals.Weight),
71
+ };
72
+ }
73
+
74
+ /**
75
+ * Build the JSON request body for POST /vitals.
76
+ * Shared by Studio (Fable) and .NET tests — single source of truth for the payload shape.
77
+ */
78
+ export function buildVitalsRequest(vitals: ExtractedVitals, dryRun: boolean): string {
79
+ const bridge: { bmi?: float64, diastolicBp?: float64, heartRate?: float64, height?: float64, respiratoryRate?: float64, spo2?: float64, systolicBp?: float64, temperature?: float64, weight?: float64 } = vitalsTobridge(vitals);
80
+ const payload: { bmi?: float64, diastolicBp?: float64, dryRun: boolean, heartRate?: float64, height?: float64, respiratoryRate?: float64, spo2?: float64, systolicBp?: float64, temperature?: float64, weight?: float64 } = {
81
+ bmi: unwrap(bridge.bmi),
82
+ diastolicBp: unwrap(bridge.diastolicBp),
83
+ dryRun: dryRun,
84
+ heartRate: unwrap(bridge.heartRate),
85
+ height: unwrap(bridge.height),
86
+ respiratoryRate: unwrap(bridge.respiratoryRate),
87
+ spo2: unwrap(bridge.spo2),
88
+ systolicBp: unwrap(bridge.systolicBp),
89
+ temperature: unwrap(bridge.temperature),
90
+ weight: unwrap(bridge.weight),
62
91
  };
92
+ return toString(0, Auto_generateBoxedEncoder_437914C6(anonRecord_type(["bmi", option_type(float64_type)], ["diastolicBp", option_type(float64_type)], ["dryRun", bool_type], ["heartRate", option_type(float64_type)], ["height", option_type(float64_type)], ["respiratoryRate", option_type(float64_type)], ["spo2", option_type(float64_type)], ["systolicBp", option_type(float64_type)], ["temperature", option_type(float64_type)], ["weight", option_type(float64_type)]), CaseStrategy_CamelCase(), undefined, undefined)(payload));
93
+ }
94
+
95
+ /**
96
+ * Parse the /vitals response to extract flow_vitals.id.
97
+ * Shared by Studio (Fable) and .NET tests — single source of truth for response parsing.
98
+ */
99
+ export function parseVitalsResponse(responseBody: string): FSharpResult$2_$union<int64_1, string> {
100
+ const matchValue: FSharpResult$2_$union<int64_1, string> = fromString<int64_1>((path_1: string, value_1: any): FSharpResult$2_$union<int64_1, [string, ErrorReason_$union]> => field_1<int64_1>("id", int64, path_1, value_1), responseBody);
101
+ if (matchValue.tag === /* Error */ 1) {
102
+ return FSharpResult$2_Error<int64_1, string>(`Failed to parse vitals response id: ${matchValue.fields[0]}`);
103
+ }
104
+ else {
105
+ return FSharpResult$2_Ok<int64_1, string>(matchValue.fields[0]);
106
+ }
107
+ }
108
+
109
+ export class ExtractedAllergy extends Record implements IEquatable<ExtractedAllergy>, IComparable<ExtractedAllergy> {
110
+ readonly Name: string;
111
+ readonly Category: int32;
112
+ readonly Severity: Option<int32>;
113
+ readonly Reaction: Option<string>;
114
+ readonly Remedy: Option<string>;
115
+ readonly StaffOnly: boolean;
116
+ constructor(Name: string, Category: int32, Severity: Option<int32>, Reaction: Option<string>, Remedy: Option<string>, StaffOnly: boolean) {
117
+ super();
118
+ this.Name = Name;
119
+ this.Category = (Category | 0);
120
+ this.Severity = Severity;
121
+ this.Reaction = Reaction;
122
+ this.Remedy = Remedy;
123
+ this.StaffOnly = StaffOnly;
124
+ }
125
+ }
126
+
127
+ export function ExtractedAllergy_$reflection(): TypeInfo {
128
+ return record_type("FormSpec.Integrations.CorEMR.CoreMREncoder.ExtractedAllergy", [], ExtractedAllergy, () => [["Name", string_type], ["Category", int32_type], ["Severity", option_type(int32_type)], ["Reaction", option_type(string_type)], ["Remedy", option_type(string_type)], ["StaffOnly", bool_type]]);
129
+ }
130
+
131
+ function categoryToInt(cat: string): int32 {
132
+ const matchValue: string = cat.toLowerCase();
133
+ switch (matchValue) {
134
+ case "drug":
135
+ return 0;
136
+ case "food":
137
+ return 1;
138
+ case "environmental":
139
+ return 2;
140
+ case "custom":
141
+ return 3;
142
+ default:
143
+ return 0;
144
+ }
145
+ }
146
+
147
+ function severityToInt(sev: string): Option<int32> {
148
+ const matchValue: string = sev.toLowerCase();
149
+ switch (matchValue) {
150
+ case "mild":
151
+ return 1;
152
+ case "moderate":
153
+ return 2;
154
+ case "severe":
155
+ return 3;
156
+ case "life_threatening":
157
+ return 4;
158
+ default:
159
+ return undefined;
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Extract allergy entries from FormSpec (finds Type 140 allergy fields).
165
+ * Parses JSON from FieldValue.Single. Returns empty list if no allergies or unfilled.
166
+ */
167
+ export function extractAllergiesFromFormSpec(spec: Spec_FormSpec$1<Spec_FieldType_$union>): FSharpList<ExtractedAllergy> {
168
+ try {
169
+ const allergyFields: FSharpList<Spec_FormField$1<Spec_FieldType_$union>> = filter<Spec_FormField$1<Spec_FieldType_$union>>((field: Spec_FormField$1<Spec_FieldType_$union>): boolean => {
170
+ const matchValue: Spec_FieldType_$union = field.FieldType;
171
+ let matchResult: int32, pf_1: Spec_PluginFieldConfig;
172
+ if (matchValue.tag === /* PluginField */ 23) {
173
+ if (matchValue.fields[0].PluginId === "Fable.Form.Simple.Bulma.Fields.AllergyFinderField") {
174
+ matchResult = 0;
175
+ pf_1 = matchValue.fields[0];
176
+ }
177
+ else {
178
+ matchResult = 1;
179
+ }
180
+ }
181
+ else {
182
+ matchResult = 1;
183
+ }
184
+ switch (matchResult) {
185
+ case 0:
186
+ return true;
187
+ default:
188
+ return false;
189
+ }
190
+ }, collect<Spec_FormStep$1<Spec_FieldType_$union>, Spec_FormField$1<Spec_FieldType_$union>>((step: Spec_FormStep$1<Spec_FieldType_$union>): FSharpList<Spec_FormField$1<Spec_FieldType_$union>> => step.Fields, spec.Steps));
191
+ if (!isEmpty(allergyFields)) {
192
+ const matchValue_1: Option<Shared_FieldValue_$union> = head(allergyFields).Value;
193
+ let matchResult_1: int32, answer_1: Shared_FieldAnswer;
194
+ if (matchValue_1 != null) {
195
+ if (value_21(matchValue_1).tag === /* Single */ 0) {
196
+ if (!isNullOrWhiteSpace((value_21(matchValue_1) as Shared_FieldValue<0>).fields[0].Value)) {
197
+ matchResult_1 = 0;
198
+ answer_1 = (value_21(matchValue_1) as Shared_FieldValue<0>).fields[0];
199
+ }
200
+ else {
201
+ matchResult_1 = 1;
202
+ }
203
+ }
204
+ else {
205
+ matchResult_1 = 1;
206
+ }
207
+ }
208
+ else {
209
+ matchResult_1 = 1;
210
+ }
211
+ switch (matchResult_1) {
212
+ case 0: {
213
+ const matchValue_2: FSharpResult$2_$union<FSharpList<ExtractedAllergy>, string> = fromString<FSharpList<ExtractedAllergy>>((path_15: string, value_20: any): FSharpResult$2_$union<FSharpList<ExtractedAllergy>, [string, ErrorReason_$union]> => list_16<ExtractedAllergy>((path_14: string, v: any): FSharpResult$2_$union<ExtractedAllergy, [string, ErrorReason_$union]> => object<ExtractedAllergy>((get$: IGetters): ExtractedAllergy => {
214
+ let objectArg: IOptionalGetter, objectArg_1: IOptionalGetter, objectArg_2: IOptionalGetter, objectArg_3: IOptionalGetter, objectArg_4: IOptionalGetter, objectArg_5: IOptionalGetter, objectArg_6: IOptionalGetter, objectArg_7: IOptionalGetter, objectArg_8: IOptionalGetter, objectArg_9: IOptionalGetter, objectArg_10: IOptionalGetter, objectArg_11: IOptionalGetter;
215
+ const name: string = defaultArg(orElse((objectArg = get$.Optional, objectArg.Field<string>("Name", string)), (objectArg_1 = get$.Optional, objectArg_1.Field<string>("name", string))), "");
216
+ const category: string = defaultArg(orElse((objectArg_2 = get$.Optional, objectArg_2.Field<string>("Category", string)), (objectArg_3 = get$.Optional, objectArg_3.Field<string>("category", string))), "drug");
217
+ const severity: string = defaultArg(orElse((objectArg_4 = get$.Optional, objectArg_4.Field<string>("Severity", string)), (objectArg_5 = get$.Optional, objectArg_5.Field<string>("severity", string))), "unknown");
218
+ const reactions: FSharpList<string> = defaultArg(orElse((objectArg_6 = get$.Optional, objectArg_6.Field<FSharpList<string>>("Reactions", (path_7: string, value_10: any): FSharpResult$2_$union<FSharpList<string>, [string, ErrorReason_$union]> => list_16<string>(string, path_7, value_10))), (objectArg_7 = get$.Optional, objectArg_7.Field<FSharpList<string>>("reactions", (path_9: string, value_12: any): FSharpResult$2_$union<FSharpList<string>, [string, ErrorReason_$union]> => list_16<string>(string, path_9, value_12)))), empty<string>());
219
+ const remedy: string = defaultArg(orElse((objectArg_8 = get$.Optional, objectArg_8.Field<string>("Remedy", string)), (objectArg_9 = get$.Optional, objectArg_9.Field<string>("remedy", string))), "");
220
+ const staffOnly: boolean = defaultArg(orElse((objectArg_10 = get$.Optional, objectArg_10.Field<boolean>("StaffOnly", bool)), (objectArg_11 = get$.Optional, objectArg_11.Field<boolean>("staffOnly", bool))), false);
221
+ return new ExtractedAllergy(name, categoryToInt(category), severityToInt(severity), isEmpty(reactions) ? undefined : join(", ", reactions), isNullOrWhiteSpace(remedy) ? undefined : remedy, staffOnly);
222
+ }, path_14, v), path_15, value_20), answer_1!.Value);
223
+ return (matchValue_2.tag === /* Error */ 1) ? empty<ExtractedAllergy>() : filter<ExtractedAllergy>((a: ExtractedAllergy): boolean => !isNullOrWhiteSpace(a.Name), matchValue_2.fields[0]);
224
+ }
225
+ default:
226
+ return empty<ExtractedAllergy>();
227
+ }
228
+ }
229
+ else {
230
+ return empty<ExtractedAllergy>();
231
+ }
232
+ }
233
+ catch (matchValue_3: any) {
234
+ return empty<ExtractedAllergy>();
235
+ }
236
+ }
237
+
238
+ /**
239
+ * Build the JSON request body for POST /allergies.
240
+ * Shared by Studio (Fable) and .NET tests — single source of truth for the payload shape.
241
+ */
242
+ export function buildAllergiesRequest(allergies: FSharpList<ExtractedAllergy>, dryRun: boolean): string {
243
+ const payload: { allergies: FSharpList<{ category: int32, name: string, reaction?: string, remedy?: string, severity?: int32, staffOnly: boolean }>, dryRun: boolean } = {
244
+ allergies: map<ExtractedAllergy, { category: int32, name: string, reaction?: string, remedy?: string, severity?: int32, staffOnly: boolean }>((a: ExtractedAllergy): { category: int32, name: string, reaction?: string, remedy?: string, severity?: int32, staffOnly: boolean } => ({
245
+ category: a.Category,
246
+ name: a.Name,
247
+ reaction: unwrap(a.Reaction),
248
+ remedy: unwrap(a.Remedy),
249
+ severity: unwrap(a.Severity),
250
+ staffOnly: a.StaffOnly,
251
+ }), allergies),
252
+ dryRun: dryRun,
253
+ };
254
+ return toString(0, Auto_generateBoxedEncoder_437914C6(anonRecord_type(["allergies", list_type(anonRecord_type(["category", int32_type], ["name", string_type], ["reaction", option_type(string_type)], ["remedy", option_type(string_type)], ["severity", option_type(int32_type)], ["staffOnly", bool_type]))], ["dryRun", bool_type]), CaseStrategy_CamelCase(), undefined, undefined)(payload));
255
+ }
256
+
257
+ /**
258
+ * Parse the /allergies response to extract created count.
259
+ * Shared by Studio (Fable) and .NET tests — single source of truth for response parsing.
260
+ */
261
+ export function parseAllergiesResponse(responseBody: string): FSharpResult$2_$union<int32, string> {
262
+ const matchValue: FSharpResult$2_$union<int32, string> = fromString<int32>((path: string, value: any): FSharpResult$2_$union<int32, [string, ErrorReason_$union]> => field_1<int32>("count", uncurry2(int), path, value), responseBody);
263
+ if (matchValue.tag === /* Error */ 1) {
264
+ return FSharpResult$2_Error<int32, string>(`Failed to parse allergies response: ${matchValue.fields[0]}`);
265
+ }
266
+ else {
267
+ return FSharpResult$2_Ok<int32, string>(matchValue.fields[0]);
268
+ }
63
269
  }
64
270
 
65
271
  /**
@@ -94,15 +300,15 @@ export function extractVitalsFromFormSpec(spec: Spec_FormSpec$1<Spec_FieldType_$
94
300
  const matchValue_1: Option<Shared_FieldValue_$union> = head(vitalsFields).Value;
95
301
  let matchResult_1: int32, props: FSharpList<Shared_PluginDataProperty>, answer: Shared_FieldAnswer;
96
302
  if (matchValue_1 != null) {
97
- switch (value_3(matchValue_1).tag) {
303
+ switch (value_21(matchValue_1).tag) {
98
304
  case /* PluginData */ 3: {
99
305
  matchResult_1 = 0;
100
- props = (value_3(matchValue_1) as Shared_FieldValue<3>).fields[0];
306
+ props = (value_21(matchValue_1) as Shared_FieldValue<3>).fields[0];
101
307
  break;
102
308
  }
103
309
  case /* Single */ 0: {
104
310
  matchResult_1 = 1;
105
- answer = (value_3(matchValue_1) as Shared_FieldValue<0>).fields[0];
311
+ answer = (value_21(matchValue_1) as Shared_FieldValue<0>).fields[0];
106
312
  break;
107
313
  }
108
314
  default:
@@ -132,7 +338,28 @@ export function extractVitalsFromFormSpec(spec: Spec_FormSpec$1<Spec_FieldType_$
132
338
  }
133
339
  }
134
340
  }, tryFind<Shared_PluginDataProperty>((p: Shared_PluginDataProperty): boolean => (p.Name === propertyName), props!));
135
- return new ExtractedVitals(getVitalValue("temperature"), getVitalValue("systolic_bp"), getVitalValue("diastolic_bp"), getVitalValue("pulse"), getVitalValue("respiration"), getVitalValue("oxygen_saturation"), getVitalValue("pain_scale"));
341
+ const getStringProp = (name: string): Option<string> => map_1<Shared_PluginDataProperty, string>((p_3: Shared_PluginDataProperty): string => p_3.Value, tryFind<Shared_PluginDataProperty>((p_2: Shared_PluginDataProperty): boolean => (p_2.Name === name), props!));
342
+ const weightUnit: string = defaultArg(getStringProp("weight_unit"), "lbs");
343
+ const heightUnit: string = defaultArg(getStringProp("height_unit"), "in");
344
+ const rawWeight: Option<float64> = getVitalValue("weight");
345
+ const rawHeight: Option<float64> = getVitalValue("height");
346
+ const weightLbs: Option<float64> = map_1<float64, float64>((w: float64): float64 => {
347
+ if (weightUnit === "kg") {
348
+ return w * 2.20462;
349
+ }
350
+ else {
351
+ return w;
352
+ }
353
+ }, rawWeight);
354
+ const heightIn: Option<float64> = map_1<float64, float64>((h: float64): float64 => {
355
+ if (heightUnit === "cm") {
356
+ return h / 2.54;
357
+ }
358
+ else {
359
+ return h;
360
+ }
361
+ }, rawHeight);
362
+ return new ExtractedVitals(getVitalValue("temperature"), getVitalValue("systolic_bp"), getVitalValue("diastolic_bp"), getVitalValue("pulse"), getVitalValue("respiration"), getVitalValue("oxygen_saturation"), getVitalValue("pain_scale"), weightLbs, heightIn);
136
363
  }
137
364
  case 1: {
138
365
  const parts: string[] = split(answer!.Value, ["|"], undefined, 0);
@@ -154,7 +381,29 @@ export function extractVitalsFromFormSpec(spec: Spec_FormSpec$1<Spec_FieldType_$
154
381
  return undefined;
155
382
  }
156
383
  };
157
- return new ExtractedVitals(parseAt(0), parseAt(1), parseAt(2), parseAt(3), parseAt(4), parseAt(5), parseAt(6));
384
+ const isMetric: boolean = (parts.length > 9) && (item(9, parts).trim().toLowerCase() === "metric");
385
+ return new ExtractedVitals(map_1<float64, float64>((v_6: float64): float64 => {
386
+ if (isMetric) {
387
+ return ((v_6 * 9) / 5) + 32;
388
+ }
389
+ else {
390
+ return v_6;
391
+ }
392
+ }, parseAt(0)), parseAt(1), parseAt(2), parseAt(3), parseAt(4), parseAt(5), parseAt(6), map_1<float64, float64>((v_4: float64): float64 => {
393
+ if (isMetric) {
394
+ return v_4 * 2.20462;
395
+ }
396
+ else {
397
+ return v_4;
398
+ }
399
+ }, parseAt(7)), map_1<float64, float64>((v_5: float64): float64 => {
400
+ if (isMetric) {
401
+ return v_5 / 2.54;
402
+ }
403
+ else {
404
+ return v_5;
405
+ }
406
+ }, parseAt(8)));
158
407
  }
159
408
  default:
160
409
  return undefined;
@@ -175,7 +424,7 @@ export function extractVitalsFromFormSpec(spec: Spec_FormSpec$1<Spec_FieldType_$
175
424
  * Native Thoth.Json auto generation with full int64 support.
176
425
  */
177
426
  export function tryDecodeSourceMap(payloadJson: string): FSharpResult$2_$union<CoreMRSourceMap, string> {
178
- return fromString<CoreMRSourceMap>(uncurry2(Auto_generateBoxedDecoder_Z6670B51(CoreMRSourceMap_$reflection(), undefined, undefined)), payloadJson);
427
+ return fromString_1<CoreMRSourceMap>(uncurry2(Auto_generateBoxedDecoder_Z6670B51(CoreMRSourceMap_$reflection(), undefined, undefined)), payloadJson);
179
428
  }
180
429
 
181
430
  /**
@@ -204,9 +453,9 @@ function getFieldOptionKeyGuid(_arg: Shared_FieldOptionKey): string {
204
453
  return _arg.fields[0];
205
454
  }
206
455
 
207
- function getScoreFromOption(options: FSharpList<Shared_FieldOption>, selectedValue: string): Option<int64> {
456
+ function getScoreFromOption(options: FSharpList<Shared_FieldOption>, selectedValue: string): Option<int64_1> {
208
457
  const canonicalSelected: string = Helpers_canonicalizeFieldKey(selectedValue);
209
- return bind<Shared_FieldOption, int64>((opt_1: Shared_FieldOption): Option<int64> => map<int32, int64>((value: int32): int64 => toInt64(fromInt32(value)), opt_1.Score), tryFind<Shared_FieldOption>((opt: Shared_FieldOption): boolean => (Helpers_canonicalizeFieldKey(opt.Value) === canonicalSelected), options));
458
+ return bind<Shared_FieldOption, int64_1>((opt_1: Shared_FieldOption): Option<int64_1> => map_1<int32, int64_1>((value: int32): int64_1 => toInt64(fromInt32(value)), opt_1.Score), tryFind<Shared_FieldOption>((opt: Shared_FieldOption): boolean => (Helpers_canonicalizeFieldKey(opt.Value) === canonicalSelected), options));
210
459
  }
211
460
 
212
461
  function supportsTextContent(anchor: CoreMRFieldAnchor): boolean {
@@ -279,26 +528,35 @@ function getOptionsFromFieldType(ft: Spec_FieldType_$union): FSharpList<Shared_F
279
528
  }
280
529
  }
281
530
 
282
- function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsIdOpt: Option<int64>, anchor: CoreMRFieldAnchor): FSharpList<CoreMRAnswer> {
283
- if (anchor.Encoding.IsSkip ? true : anchor.Encoding.IsScaffold) {
531
+ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsIdOpt: Option<int64_1>, anchor: CoreMRFieldAnchor): FSharpList<CoreMRAnswer> {
532
+ if (anchor.Encoding.IsSkip) {
533
+ return empty<CoreMRAnswer>();
534
+ }
535
+ else if (anchor.ItemTypeId === 130) {
536
+ if (vitalsIdOpt == null) {
537
+ return empty<CoreMRAnswer>();
538
+ }
539
+ else {
540
+ return singleton(new CoreMRAnswer(anchor.Sequence, value_21(vitalsIdOpt), undefined));
541
+ }
542
+ }
543
+ else if (anchor.Encoding.IsScaffold) {
284
544
  return empty<CoreMRAnswer>();
285
545
  }
286
546
  else {
287
547
  const matchValue: Option<Shared_FieldValue_$union> = field.Value;
288
548
  if (matchValue != null) {
289
- switch (value_3(matchValue).tag) {
549
+ switch (value_21(matchValue).tag) {
290
550
  case /* Multiple */ 1: {
291
- const answers: FSharpSet<Shared_FieldAnswer> = (value_3(matchValue) as Shared_FieldValue<1>).fields[0];
551
+ const answers: FSharpSet<Shared_FieldAnswer> = (value_21(matchValue) as Shared_FieldValue<1>).fields[0];
292
552
  const matchValue_3: int32 = anchor.ItemTypeId | 0;
293
553
  switch (matchValue_3) {
294
- case 20:
295
- case 21:
296
554
  case 26:
297
555
  case 40:
298
556
  case 41:
299
557
  case 143: {
300
558
  const options_1: FSharpList<Shared_FieldOption> = getOptionsFromFieldType(field.FieldType);
301
- const choicesWithBitPos_1: FSharpList<[string, int32]> = map_1<CoreMRChoiceAnchor, [string, int32]>((c_3: CoreMRChoiceAnchor): [string, int32] => {
559
+ const choicesWithBitPos_1: FSharpList<[string, int32]> = map<CoreMRChoiceAnchor, [string, int32]>((c_3: CoreMRChoiceAnchor): [string, int32] => {
302
560
  const bit_2: int32 = defaultArg(c_3.BitPosition, c_3.Sequence - 1) | 0;
303
561
  return [getFieldOptionKeyGuid(c_3.FieldOptionKey), bit_2] as [string, int32];
304
562
  }, anchor.Choices);
@@ -306,26 +564,26 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
306
564
  throw new Error(`🚨 ItemTypeId ${anchor.ItemTypeId} multiple choice field ${anchor.FieldKey} has no choices`);
307
565
  }
308
566
  else {
309
- return singleton(new CoreMRAnswer(anchor.Sequence, computeBitmask(choose<string, int32>((key: string): Option<int32> => map<[string, int32], int32>((tuple: [string, int32]): int32 => tuple[1], tryFind<[string, int32]>((tupledArg_1: [string, int32]): boolean => (tupledArg_1[0] === key), choicesWithBitPos_1)), choose<string, string>((valStr_1: string): Option<string> => map<Shared_FieldOption, string>((opt_4: Shared_FieldOption): string => getFieldOptionKeyGuid(opt_4.OptionKey), tryFind<Shared_FieldOption>((opt_3: Shared_FieldOption): boolean => (Helpers_canonicalizeFieldKey(opt_3.Value) === Helpers_canonicalizeFieldKey(valStr_1)), options_1)), map_1<Shared_FieldAnswer, string>((a: Shared_FieldAnswer): string => a.Value, toList<Shared_FieldAnswer>(answers))))), supportsOptionalNotes(anchor) ? bind<Shared_FieldAnswer, string>((fa: Shared_FieldAnswer): Option<string> => fa.Documentation, tryHead<Shared_FieldAnswer>(toList<Shared_FieldAnswer>(answers))) : undefined));
567
+ return singleton(new CoreMRAnswer(anchor.Sequence, computeBitmask(choose<string, int32>((key: string): Option<int32> => map_1<[string, int32], int32>((tuple: [string, int32]): int32 => tuple[1], tryFind<[string, int32]>((tupledArg_1: [string, int32]): boolean => (tupledArg_1[0] === key), choicesWithBitPos_1)), choose<string, string>((valStr_1: string): Option<string> => map_1<Shared_FieldOption, string>((opt_4: Shared_FieldOption): string => getFieldOptionKeyGuid(opt_4.OptionKey), tryFind<Shared_FieldOption>((opt_3: Shared_FieldOption): boolean => (Helpers_canonicalizeFieldKey(opt_3.Value) === Helpers_canonicalizeFieldKey(valStr_1)), options_1)), map<Shared_FieldAnswer, string>((a: Shared_FieldAnswer): string => a.Value, toList<Shared_FieldAnswer>(answers))))), supportsOptionalNotes(anchor) ? bind<Shared_FieldAnswer, string>((fa: Shared_FieldAnswer): Option<string> => fa.Documentation, tryHead<Shared_FieldAnswer>(toList<Shared_FieldAnswer>(answers))) : undefined));
310
568
  }
311
569
  }
312
570
  default:
313
- throw new Error(`🚨 Multiple answers not supported for CoreMR ItemTypeId ${anchor.ItemTypeId} field ${anchor.FieldKey} - only bitmask types (20,21,26,40,41,143) support multiple selection!`);
571
+ throw new Error(`🚨 Multiple answers not supported for CoreMR ItemTypeId ${anchor.ItemTypeId} field ${anchor.FieldKey} - only bitmask types (26,40,41,143) support multiple selection!`);
314
572
  }
315
573
  }
316
574
  case /* Matrix */ 2: {
317
- const matrixAnswer: Shared_MatrixAnswer = (value_3(matchValue) as Shared_FieldValue<2>).fields[0];
575
+ const matrixAnswer: Shared_MatrixAnswer = (value_21(matchValue) as Shared_FieldValue<2>).fields[0];
318
576
  if (isEmpty(anchor.MatrixItemAnchors)) {
319
577
  return empty<CoreMRAnswer>();
320
578
  }
321
579
  else {
322
580
  const options_2: FSharpList<Shared_FieldOption> = getOptionsFromFieldType(field.FieldType);
323
581
  const docForFirst: Option<string> = supportsOptionalNotes(anchor) ? matrixAnswer.Documentation : undefined;
324
- return choose<Option<CoreMRAnswer>, CoreMRAnswer>((x_1: Option<CoreMRAnswer>): Option<CoreMRAnswer> => x_1, mapIndexed<CoreMRMatrixItemAnchor, Option<CoreMRAnswer>>((i: int32, rowAnchor: CoreMRMatrixItemAnchor): Option<CoreMRAnswer> => map<string, CoreMRAnswer>((selectedValue_1: string): CoreMRAnswer => (new CoreMRAnswer(rowAnchor.Sequence, defaultArg(getScoreFromOption(options_2, selectedValue_1), 0n), (i === 0) ? docForFirst : undefined)), tryFind_1<Shared_MatrixItemKey, string>(rowAnchor.MatrixItemKey, matrixAnswer.Values)), anchor.MatrixItemAnchors));
582
+ return choose<Option<CoreMRAnswer>, CoreMRAnswer>((x_1: Option<CoreMRAnswer>): Option<CoreMRAnswer> => x_1, mapIndexed<CoreMRMatrixItemAnchor, Option<CoreMRAnswer>>((i: int32, rowAnchor: CoreMRMatrixItemAnchor): Option<CoreMRAnswer> => map_1<string, CoreMRAnswer>((selectedValue_1: string): CoreMRAnswer => (new CoreMRAnswer(rowAnchor.Sequence, defaultArg(getScoreFromOption(options_2, selectedValue_1), 0n), (i === 0) ? docForFirst : undefined)), tryFind_1<Shared_MatrixItemKey, string>(rowAnchor.MatrixItemKey, matrixAnswer.Values)), anchor.MatrixItemAnchors));
325
583
  }
326
584
  }
327
585
  case /* PluginData */ 3: {
328
- const props: FSharpList<Shared_PluginDataProperty> = (value_3(matchValue) as Shared_FieldValue<3>).fields[0];
586
+ const props: FSharpList<Shared_PluginDataProperty> = (value_21(matchValue) as Shared_FieldValue<3>).fields[0];
329
587
  let matchResult: int32, p_1: Shared_PluginDataProperty;
330
588
  if (!isEmpty(props)) {
331
589
  if (isEmpty(tail(props))) {
@@ -352,7 +610,7 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
352
610
  }
353
611
  }
354
612
  default: {
355
- const answer: Shared_FieldAnswer = (value_3(matchValue) as Shared_FieldValue<0>).fields[0];
613
+ const answer: Shared_FieldAnswer = (value_21(matchValue) as Shared_FieldValue<0>).fields[0];
356
614
  const options: FSharpList<Shared_FieldOption> = getOptionsFromFieldType(field.FieldType);
357
615
  const matchValue_2: int32 = anchor.ItemTypeId | 0;
358
616
  switch (matchValue_2) {
@@ -361,11 +619,29 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
361
619
  return singleton(new CoreMRAnswer(anchor.Sequence, 0n, supportsTextContent(anchor) ? answer.Value : undefined));
362
620
  case 20:
363
621
  case 21:
622
+ case 25:
623
+ case 32: {
624
+ const canonicalAnswer: string = Helpers_canonicalizeFieldKey(answer.Value);
625
+ const scoreOpt: Option<int64_1> = map_1<CoreMRChoiceAnchor, int64_1>((c_1: CoreMRChoiceAnchor): int64_1 => c_1.Score, tryFind<CoreMRChoiceAnchor>((c: CoreMRChoiceAnchor): boolean => exists<Shared_FieldOption>((opt: Shared_FieldOption): boolean => {
626
+ if (getFieldOptionKeyGuid(opt.OptionKey) === getFieldOptionKeyGuid(c.FieldOptionKey)) {
627
+ return Helpers_canonicalizeFieldKey(opt.Value) === canonicalAnswer;
628
+ }
629
+ else {
630
+ return false;
631
+ }
632
+ }, options), anchor.Choices));
633
+ if (scoreOpt == null) {
634
+ throw new Error(`🚨 No matching choice found for ItemTypeId ${anchor.ItemTypeId} field ${anchor.FieldKey} answer '${answer.Value}'`);
635
+ }
636
+ else {
637
+ return singleton(new CoreMRAnswer(anchor.Sequence, value_21(scoreOpt), supportsOptionalNotes(anchor) ? answer.Documentation : undefined));
638
+ }
639
+ }
364
640
  case 26:
365
641
  case 40:
366
642
  case 41:
367
643
  case 143: {
368
- const choicesWithBitPos: FSharpList<[string, int32]> = map_1<CoreMRChoiceAnchor, [string, int32]>((c_2: CoreMRChoiceAnchor): [string, int32] => {
644
+ const choicesWithBitPos: FSharpList<[string, int32]> = map<CoreMRChoiceAnchor, [string, int32]>((c_2: CoreMRChoiceAnchor): [string, int32] => {
369
645
  const bit: int32 = defaultArg(c_2.BitPosition, c_2.Sequence - 1) | 0;
370
646
  return [getFieldOptionKeyGuid(c_2.FieldOptionKey), bit] as [string, int32];
371
647
  }, anchor.Choices);
@@ -375,7 +651,7 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
375
651
  else {
376
652
  const selectedKeys: FSharpList<string> = choose<string, string>((selectedValue: string): Option<string> => {
377
653
  const canonicalSelected: string = Helpers_canonicalizeFieldKey(selectedValue);
378
- return map<Shared_FieldOption, string>((opt_2: Shared_FieldOption): string => getFieldOptionKeyGuid(opt_2.OptionKey), tryFind<Shared_FieldOption>((opt_1: Shared_FieldOption): boolean => (Helpers_canonicalizeFieldKey(opt_1.Value) === canonicalSelected), options));
654
+ return map_1<Shared_FieldOption, string>((opt_2: Shared_FieldOption): string => getFieldOptionKeyGuid(opt_2.OptionKey), tryFind<Shared_FieldOption>((opt_1: Shared_FieldOption): boolean => (Helpers_canonicalizeFieldKey(opt_1.Value) === canonicalSelected), options));
379
655
  }, singleton(answer.Value));
380
656
  const bitPositions: FSharpList<int32> = choose<[string, int32], int32>((tupledArg: [string, int32]): Option<int32> => {
381
657
  if (contains<string>(tupledArg[0], selectedKeys, {
@@ -391,25 +667,7 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
391
667
  if (isEmpty(bitPositions)) {
392
668
  throw new Error(`🚨 No matching bitmask choice found for ItemTypeId ${anchor.ItemTypeId} field ${anchor.FieldKey} answer '${answer.Value}'`);
393
669
  }
394
- return singleton(new CoreMRAnswer(anchor.Sequence, fold<int32, int64>((acc: int64, bit_1: int32): int64 => toInt64(op_BitwiseOr(acc, toInt64(op_LeftShift(1n, bit_1)))), 0n, bitPositions), supportsOptionalNotes(anchor) ? answer.Documentation : undefined));
395
- }
396
- }
397
- case 25:
398
- case 32: {
399
- const canonicalAnswer: string = Helpers_canonicalizeFieldKey(answer.Value);
400
- const scoreOpt: Option<int64> = map<CoreMRChoiceAnchor, int64>((c_1: CoreMRChoiceAnchor): int64 => c_1.Score, tryFind<CoreMRChoiceAnchor>((c: CoreMRChoiceAnchor): boolean => exists<Shared_FieldOption>((opt: Shared_FieldOption): boolean => {
401
- if (getFieldOptionKeyGuid(opt.OptionKey) === getFieldOptionKeyGuid(c.FieldOptionKey)) {
402
- return Helpers_canonicalizeFieldKey(opt.Value) === canonicalAnswer;
403
- }
404
- else {
405
- return false;
406
- }
407
- }, options), anchor.Choices));
408
- if (scoreOpt == null) {
409
- throw new Error(`🚨 No matching choice found for ItemTypeId ${anchor.ItemTypeId} field ${anchor.FieldKey} answer '${answer.Value}'`);
410
- }
411
- else {
412
- return singleton(new CoreMRAnswer(anchor.Sequence, value_3(scoreOpt), supportsOptionalNotes(anchor) ? answer.Documentation : undefined));
670
+ return singleton(new CoreMRAnswer(anchor.Sequence, fold<int32, int64_1>((acc: int64_1, bit_1: int32): int64_1 => toInt64(op_BitwiseOr(acc, toInt64(op_LeftShift(1n, bit_1)))), 0n, bitPositions), supportsOptionalNotes(anchor) ? answer.Documentation : undefined));
413
671
  }
414
672
  }
415
673
  case 30:
@@ -435,7 +693,6 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
435
693
  case 110:
436
694
  case 120:
437
695
  case 121:
438
- case 130:
439
696
  case 131:
440
697
  case 132:
441
698
  case 133:
@@ -458,14 +715,14 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
458
715
  return empty<CoreMRAnswer>();
459
716
  case 20:
460
717
  case 21:
718
+ case 25:
719
+ case 32:
720
+ return empty<CoreMRAnswer>();
461
721
  case 26:
462
722
  case 40:
463
723
  case 41:
464
724
  case 143:
465
725
  return empty<CoreMRAnswer>();
466
- case 25:
467
- case 32:
468
- return empty<CoreMRAnswer>();
469
726
  case 30:
470
727
  case 31:
471
728
  return singleton(new CoreMRAnswer(anchor.Sequence, 2n, undefined));
@@ -479,7 +736,6 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
479
736
  case 110:
480
737
  case 120:
481
738
  case 121:
482
- case 130:
483
739
  case 131:
484
740
  case 132:
485
741
  case 133:
@@ -496,18 +752,29 @@ function fieldToAnswers(field: Spec_FormField$1<Spec_FieldType_$union>, vitalsId
496
752
  }
497
753
 
498
754
  function buildFieldByKeyMap(spec: Spec_FormSpec$1<Spec_FieldType_$union>): FSharpMap<string, Spec_FormField$1<Spec_FieldType_$union>> {
499
- return ofList<string, Spec_FormField$1<Spec_FieldType_$union>>(map_1<Spec_FormField$1<Spec_FieldType_$union>, [string, Spec_FormField$1<Spec_FieldType_$union>]>((f: Spec_FormField$1<Spec_FieldType_$union>): [string, Spec_FormField$1<Spec_FieldType_$union>] => ([getFieldKeyGuid(f.FieldKey), f] as [string, Spec_FormField$1<Spec_FieldType_$union>]), collect<Spec_FormStep$1<Spec_FieldType_$union>, Spec_FormField$1<Spec_FieldType_$union>>((step: Spec_FormStep$1<Spec_FieldType_$union>): FSharpList<Spec_FormField$1<Spec_FieldType_$union>> => step.Fields, spec.Steps)), {
755
+ return ofList<string, Spec_FormField$1<Spec_FieldType_$union>>(map<Spec_FormField$1<Spec_FieldType_$union>, [string, Spec_FormField$1<Spec_FieldType_$union>]>((f: Spec_FormField$1<Spec_FieldType_$union>): [string, Spec_FormField$1<Spec_FieldType_$union>] => ([getFieldKeyGuid(f.FieldKey), f] as [string, Spec_FormField$1<Spec_FieldType_$union>]), collect<Spec_FormStep$1<Spec_FieldType_$union>, Spec_FormField$1<Spec_FieldType_$union>>((step: Spec_FormStep$1<Spec_FieldType_$union>): FSharpList<Spec_FormField$1<Spec_FieldType_$union>> => step.Fields, spec.Steps)), {
500
756
  Compare: comparePrimitives,
501
757
  });
502
758
  }
503
759
 
504
- function anchorToAnswers(fieldMap: FSharpMap<string, Spec_FormField$1<Spec_FieldType_$union>>, vitalsIdOpt: Option<int64>, anchor: CoreMRFieldAnchor): FSharpList<CoreMRAnswer> {
760
+ function anchorToAnswers(fieldMap: FSharpMap<string, Spec_FormField$1<Spec_FieldType_$union>>, vitalsIdOpt: Option<int64_1>, anchor: CoreMRFieldAnchor): FSharpList<CoreMRAnswer> {
505
761
  const field: Option<Spec_FormField$1<Spec_FieldType_$union>> = tryFind_1<string, Spec_FormField$1<Spec_FieldType_$union>>(getFieldKeyGuid(anchor.FieldKey), fieldMap);
506
- if (anchor.Encoding.IsSkip ? true : anchor.Encoding.IsScaffold) {
762
+ if (anchor.Encoding.IsSkip) {
763
+ return empty<CoreMRAnswer>();
764
+ }
765
+ else if (anchor.ItemTypeId === 130) {
766
+ if (vitalsIdOpt == null) {
767
+ return empty<CoreMRAnswer>();
768
+ }
769
+ else {
770
+ return singleton(new CoreMRAnswer(anchor.Sequence, value_21(vitalsIdOpt), undefined));
771
+ }
772
+ }
773
+ else if (anchor.Encoding.IsScaffold) {
507
774
  return empty<CoreMRAnswer>();
508
775
  }
509
776
  else if (field != null) {
510
- return fieldToAnswers(value_3(field), vitalsIdOpt, anchor);
777
+ return fieldToAnswers(value_21(field), vitalsIdOpt, anchor);
511
778
  }
512
779
  else {
513
780
  const matchValue: string = anchor.Encoding.ValueEncoding;
@@ -534,7 +801,7 @@ function anchorToAnswers(fieldMap: FSharpMap<string, Spec_FormField$1<Spec_Field
534
801
  * Uses provided flow_vitals.id for Type 130 vitals fields.
535
802
  * This is the NEW smart coordination function that handles vitals references.
536
803
  */
537
- export function encodeToFormAnswersWithVitals(provenancePayload: string, filledFormSpec: Spec_FormSpec$1<Spec_FieldType_$union>, vitalsIdOpt: Option<int64>, scaffoldMode: boolean, dryRun: boolean): FSharpResult$2_$union<CoreMRFormInsertRequest, string> {
804
+ export function encodeToFormAnswersWithVitals(provenancePayload: string, filledFormSpec: Spec_FormSpec$1<Spec_FieldType_$union>, vitalsIdOpt: Option<int64_1>, scaffoldMode: boolean, dryRun: boolean): FSharpResult$2_$union<CoreMRFormInsertRequest, string> {
538
805
  let msg: string, acc: FSharpList<CoreMRAnswer>;
539
806
  const matchValue: FSharpResult$2_$union<CoreMRSourceMap, string> = tryDecodeSourceMap(provenancePayload);
540
807
  if (matchValue.tag === /* Ok */ 0) {
@@ -546,7 +813,7 @@ export function encodeToFormAnswersWithVitals(provenancePayload: string, filledF
546
813
  }
547
814
  catch (matchValue_1: any) {
548
815
  const activePatternResult: Option<string> = Operators_FailurePattern(matchValue_1);
549
- return (activePatternResult != null) ? ((msg = value_3(activePatternResult), FSharpResult$2_Error<CoreMRFormInsertRequest, string>(`CoreMR encoding failed: ${msg}`))) : FSharpResult$2_Error<CoreMRFormInsertRequest, string>(`Unexpected error during CoreMR encoding: ${matchValue_1.message}`);
816
+ return (activePatternResult != null) ? ((msg = value_21(activePatternResult), FSharpResult$2_Error<CoreMRFormInsertRequest, string>(`CoreMR encoding failed: ${msg}`))) : FSharpResult$2_Error<CoreMRFormInsertRequest, string>(`Unexpected error during CoreMR encoding: ${matchValue_1.message}`);
550
817
  }
551
818
  }
552
819
  else {
@@ -594,7 +861,7 @@ export function encodeToFormAnswers(provenancePayload: string, filledFormSpec: S
594
861
  }
595
862
  catch (matchValue_1: any) {
596
863
  const activePatternResult: Option<string> = Operators_FailurePattern(matchValue_1);
597
- return (activePatternResult != null) ? ((msg = value_3(activePatternResult), FSharpResult$2_Error<CoreMRFormInsertRequest, string>(`CoreMR encoding failed: ${msg}`))) : FSharpResult$2_Error<CoreMRFormInsertRequest, string>(`Unexpected error during CoreMR encoding: ${matchValue_1.message}`);
864
+ return (activePatternResult != null) ? ((msg = value_21(activePatternResult), FSharpResult$2_Error<CoreMRFormInsertRequest, string>(`CoreMR encoding failed: ${msg}`))) : FSharpResult$2_Error<CoreMRFormInsertRequest, string>(`Unexpected error during CoreMR encoding: ${matchValue_1.message}`);
598
865
  }
599
866
  }
600
867
  }