@f1studio/form-spec 5.0.0-alpha.101

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 (225) hide show
  1. package/Designer.d.ts +89 -0
  2. package/FormSpec.TS/Components/HelloComponent.js +68 -0
  3. package/FormSpec.TS/Components/HelloComponent.js.map +1 -0
  4. package/FormSpec.TS/Components/HelloComponent.ts.map +1 -0
  5. package/FormSpec.TS/Designer.js +526 -0
  6. package/FormSpec.TS/Designer.js.map +1 -0
  7. package/FormSpec.TS/Designer.ts.map +1 -0
  8. package/FormSpec.TS/FormSpec.js +5400 -0
  9. package/FormSpec.TS/FormSpec.js.map +1 -0
  10. package/FormSpec.TS/FormSpec.ts.map +1 -0
  11. package/FormSpec.TS/FormSpecHelpers.js +382 -0
  12. package/FormSpec.TS/FormSpecHelpers.js.map +1 -0
  13. package/FormSpec.TS/FormSpecHelpers.ts.map +1 -0
  14. package/FormSpec.TS/Helpers.js +732 -0
  15. package/FormSpec.TS/Helpers.js.map +1 -0
  16. package/FormSpec.TS/Helpers.ts.map +1 -0
  17. package/FormSpec.TS/Interfaces.js +257 -0
  18. package/FormSpec.TS/Interfaces.js.map +1 -0
  19. package/FormSpec.TS/Interfaces.ts.map +1 -0
  20. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js +854 -0
  21. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js.map +1 -0
  22. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.ts.map +1 -0
  23. package/FormSpec.TS/Interop/FormSpec.Api.Option.js +1961 -0
  24. package/FormSpec.TS/Interop/FormSpec.Api.Option.js.map +1 -0
  25. package/FormSpec.TS/Interop/FormSpec.Api.Option.ts.map +1 -0
  26. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js +1367 -0
  27. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js.map +1 -0
  28. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.ts.map +1 -0
  29. package/FormSpec.TS/Logging/LogTypes.js +347 -0
  30. package/FormSpec.TS/Logging/LogTypes.js.map +1 -0
  31. package/FormSpec.TS/Logging/LogTypes.ts.map +1 -0
  32. package/FormSpec.TS/Migrator.js +230 -0
  33. package/FormSpec.TS/Migrator.js.map +1 -0
  34. package/FormSpec.TS/Migrator.ts.map +1 -0
  35. package/FormSpec.TS/PathwayDataExtractor.js +361 -0
  36. package/FormSpec.TS/PathwayDataExtractor.js.map +1 -0
  37. package/FormSpec.TS/PathwayDataExtractor.ts.map +1 -0
  38. package/FormSpec.TS/PathwayExecutor.js +1321 -0
  39. package/FormSpec.TS/PathwayExecutor.js.map +1 -0
  40. package/FormSpec.TS/PathwayExecutor.ts.map +1 -0
  41. package/FormSpec.TS/PathwayValidator.js +346 -0
  42. package/FormSpec.TS/PathwayValidator.js.map +1 -0
  43. package/FormSpec.TS/PathwayValidator.ts.map +1 -0
  44. package/FormSpec.TS/PluginInterface.js +171 -0
  45. package/FormSpec.TS/PluginInterface.js.map +1 -0
  46. package/FormSpec.TS/PluginInterface.ts.map +1 -0
  47. package/FormSpec.TS/Prelude.js +59 -0
  48. package/FormSpec.TS/Prelude.js.map +1 -0
  49. package/FormSpec.TS/Prelude.ts.map +1 -0
  50. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.js +958 -0
  51. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.js.map +1 -0
  52. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.ts.map +1 -0
  53. package/FormSpec.TS/Renderers/MermaidRenderer.js +228 -0
  54. package/FormSpec.TS/Renderers/MermaidRenderer.js.map +1 -0
  55. package/FormSpec.TS/Renderers/MermaidRenderer.ts.map +1 -0
  56. package/FormSpec.TS/Renderers/PathwayRenderers.js +190 -0
  57. package/FormSpec.TS/Renderers/PathwayRenderers.js.map +1 -0
  58. package/FormSpec.TS/Renderers/PathwayRenderers.ts.map +1 -0
  59. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs +511 -0
  60. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs.js +437 -0
  61. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs.js.map +1 -0
  62. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs.ts.map +1 -0
  63. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs +16 -0
  64. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs.js +73 -0
  65. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs.js.map +1 -0
  66. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs.ts.map +1 -0
  67. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs +50 -0
  68. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs.js +72 -0
  69. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs.js.map +1 -0
  70. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs.ts.map +1 -0
  71. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Fable.Form.fableproj +28 -0
  72. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs +24 -0
  73. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs.js +56 -0
  74. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs.js.map +1 -0
  75. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs.ts.map +1 -0
  76. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Fable.Form.Simple.fableproj +31 -0
  77. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs +178 -0
  78. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.js +464 -0
  79. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.js.map +1 -0
  80. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.ts.map +1 -0
  81. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Extensions.fs +17 -0
  82. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs +152 -0
  83. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js +25 -0
  84. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js.map +1 -0
  85. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.ts.map +1 -0
  86. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Types.fableproj +28 -0
  87. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs +218 -0
  88. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js +37 -0
  89. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js.map +1 -0
  90. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.ts.map +1 -0
  91. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.Types.fableproj +27 -0
  92. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs +82 -0
  93. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js +7 -0
  94. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js.map +1 -0
  95. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.ts.map +1 -0
  96. package/FormSpec.TS/fable_modules/Feliz.2.7.0/BorderStyle.fs +59 -0
  97. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs +154 -0
  98. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs.js +32 -0
  99. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs.js.map +1 -0
  100. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs.ts.map +1 -0
  101. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Feliz.fableproj +42 -0
  102. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Fonts.fs +240 -0
  103. package/FormSpec.TS/fable_modules/Feliz.2.7.0/GridTypes.fs +24 -0
  104. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Html.fs +826 -0
  105. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs +83 -0
  106. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.js +292 -0
  107. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.js.map +1 -0
  108. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.ts.map +1 -0
  109. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs +65 -0
  110. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs.js +229 -0
  111. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs.js.map +1 -0
  112. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs.ts.map +1 -0
  113. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Length.fs +91 -0
  114. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Locale.fs +876 -0
  115. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs +4080 -0
  116. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs.js +133 -0
  117. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs.js.map +1 -0
  118. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs.ts.map +1 -0
  119. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs +656 -0
  120. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.js +561 -0
  121. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.js.map +1 -0
  122. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.ts.map +1 -0
  123. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs +25 -0
  124. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs.js +46 -0
  125. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs.js.map +1 -0
  126. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs.ts.map +1 -0
  127. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactInterop.js +63 -0
  128. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactInterop.js.map +1 -0
  129. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs +41 -0
  130. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs.js +7 -0
  131. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs.js.map +1 -0
  132. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs.ts.map +1 -0
  133. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs +53 -0
  134. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs.js +7 -0
  135. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs.js.map +1 -0
  136. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs.ts.map +1 -0
  137. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Styles.fs +5740 -0
  138. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs +1455 -0
  139. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs.js +39 -0
  140. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs.js.map +1 -0
  141. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs.ts.map +1 -0
  142. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TextDecorationLine.fs +13 -0
  143. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TextDecorationStyle.fs +33 -0
  144. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Transform.fs +181 -0
  145. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TransformOrigin.fs +17 -0
  146. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TransitionProperty.fs +162 -0
  147. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs +13 -0
  148. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs.js +7 -0
  149. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs.js.map +1 -0
  150. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs.ts.map +1 -0
  151. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs +1768 -0
  152. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs.js +2337 -0
  153. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs.js.map +1 -0
  154. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs.ts.map +1 -0
  155. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs +811 -0
  156. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js +465 -0
  157. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js.map +1 -0
  158. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.ts.map +1 -0
  159. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs +47 -0
  160. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs.js +18 -0
  161. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs.js.map +1 -0
  162. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs.ts.map +1 -0
  163. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Thoth.Json.fableproj +34 -0
  164. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs +68 -0
  165. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs.js +355 -0
  166. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs.js.map +1 -0
  167. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs.ts.map +1 -0
  168. package/FormSpec.TS/fable_modules/project_cracked.json +1 -0
  169. package/FormSpec.d.ts +1257 -0
  170. package/FormSpecHelpers.d.ts +50 -0
  171. package/Helpers.d.ts +147 -0
  172. package/Interfaces.d.ts +70 -0
  173. package/Interop/FormSpec.Api.Helpers.d.ts +247 -0
  174. package/Interop/FormSpec.Api.Helpers.d.ts.map +1 -0
  175. package/Interop/FormSpec.Api.Option.d.ts +384 -0
  176. package/Interop/FormSpec.Api.Option.d.ts.map +1 -0
  177. package/Interop/FormSpec.Values.Api.Option.d.ts +324 -0
  178. package/Interop/FormSpec.Values.Api.Option.d.ts.map +1 -0
  179. package/Migrator.d.ts +59 -0
  180. package/PathwayDataExtractor.d.ts +19 -0
  181. package/PathwayExecutor.d.ts +210 -0
  182. package/PathwayValidator.d.ts +52 -0
  183. package/PluginInterface.d.ts +36 -0
  184. package/Prelude.d.ts +11 -0
  185. package/README.TS.md +622 -0
  186. package/README.md +85 -0
  187. package/package.json +39 -0
  188. package/src/Components/HelloComponent.ts +48 -0
  189. package/src/Components/HelloComponent.ts.map +1 -0
  190. package/src/Designer.ts +389 -0
  191. package/src/Designer.ts.map +1 -0
  192. package/src/FormSpec.ts +3114 -0
  193. package/src/FormSpec.ts.map +1 -0
  194. package/src/FormSpecHelpers.ts +374 -0
  195. package/src/FormSpecHelpers.ts.map +1 -0
  196. package/src/Helpers.ts +765 -0
  197. package/src/Helpers.ts.map +1 -0
  198. package/src/Interfaces.ts +166 -0
  199. package/src/Interfaces.ts.map +1 -0
  200. package/src/Interop/FormSpec.Api.Helpers.ts +872 -0
  201. package/src/Interop/FormSpec.Api.Helpers.ts.map +1 -0
  202. package/src/Interop/FormSpec.Api.Option.ts +1618 -0
  203. package/src/Interop/FormSpec.Api.Option.ts.map +1 -0
  204. package/src/Interop/FormSpec.Values.Api.Option.ts +1214 -0
  205. package/src/Interop/FormSpec.Values.Api.Option.ts.map +1 -0
  206. package/src/Logging/LogTypes.ts +212 -0
  207. package/src/Logging/LogTypes.ts.map +1 -0
  208. package/src/Migrator.ts +156 -0
  209. package/src/Migrator.ts.map +1 -0
  210. package/src/PathwayDataExtractor.ts +290 -0
  211. package/src/PathwayDataExtractor.ts.map +1 -0
  212. package/src/PathwayExecutor.ts +1102 -0
  213. package/src/PathwayExecutor.ts.map +1 -0
  214. package/src/PathwayValidator.ts +244 -0
  215. package/src/PathwayValidator.ts.map +1 -0
  216. package/src/PluginInterface.ts +79 -0
  217. package/src/PluginInterface.ts.map +1 -0
  218. package/src/Prelude.ts +21 -0
  219. package/src/Prelude.ts.map +1 -0
  220. package/src/Renderers/FormSpecMarkdownRenderer.ts +874 -0
  221. package/src/Renderers/FormSpecMarkdownRenderer.ts.map +1 -0
  222. package/src/Renderers/MermaidRenderer.ts +218 -0
  223. package/src/Renderers/MermaidRenderer.ts.map +1 -0
  224. package/src/Renderers/PathwayRenderers.ts +200 -0
  225. package/src/Renderers/PathwayRenderers.ts.map +1 -0
@@ -0,0 +1,290 @@
1
+ import { ClinicalPathway_TerminalInfo, Shared_StateKey, ClinicalPathway_StateType_$union, ClinicalPathway_EvaluationInfo, ClinicalPathway_DecisionInfo, ClinicalPathway_ActionInfo_$union, ClinicalPathway_MedicationAction, ClinicalPathway_FieldValueSource_$union, ClinicalPathway_SetFieldValueAction, ClinicalPathway_NavigateToFormAction, ClinicalPathway_PrescriptionAction, ClinicalPathway_ProblemAction, ClinicalPathway_AlertAction, ClinicalPathway_TaskAction, ClinicalPathway_DocumentationAction, ClinicalPathway_ReferralAction, ClinicalPathway_TestAction, ClinicalPathway_EducationAction, ClinicalPathway_ProcedureAction } from "./FormSpec.js";
2
+ import { split, replace, join, isNullOrWhiteSpace, substring, printf, toText } from "@fable-org/fable-library-js/String.js";
3
+ import { singleton, append, map, empty, FSharpList, filter } from "@fable-org/fable-library-js/List.js";
4
+ import { Option, value } from "@fable-org/fable-library-js/Option.js";
5
+ import { item, map as map_1 } from "@fable-org/fable-library-js/Array.js";
6
+ import { int32 } from "@fable-org/fable-library-js/Int32.js";
7
+
8
+ export function extractActionText(action: ClinicalPathway_ActionInfo_$union): string {
9
+ switch (action.tag) {
10
+ case /* Procedure */ 4: {
11
+ const p: ClinicalPathway_ProcedureAction = action.fields[0];
12
+ return toText(printf("Procedure: %s"))(p.Name);
13
+ }
14
+ case /* Education */ 3: {
15
+ const e: ClinicalPathway_EducationAction = action.fields[0];
16
+ return "Education";
17
+ }
18
+ case /* Test */ 1: {
19
+ const t: ClinicalPathway_TestAction = action.fields[0];
20
+ return toText(printf("Test: %s"))(t.TestName);
21
+ }
22
+ case /* Referral */ 2: {
23
+ const r: ClinicalPathway_ReferralAction = action.fields[0];
24
+ return toText(printf("Refer to %s"))(r.Target);
25
+ }
26
+ case /* Documentation */ 5: {
27
+ const d: ClinicalPathway_DocumentationAction = action.fields[0];
28
+ return toText(printf("Document: %s"))(d.FormName);
29
+ }
30
+ case /* Task */ 6: {
31
+ const t_1: ClinicalPathway_TaskAction = action.fields[0];
32
+ return toText(printf("Task: %s"))(t_1.Description);
33
+ }
34
+ case /* Alert */ 7: {
35
+ const a: ClinicalPathway_AlertAction = action.fields[0];
36
+ return toText(printf("Alert: %s"))(a.Message);
37
+ }
38
+ case /* Problem */ 8: {
39
+ const p_1: ClinicalPathway_ProblemAction = action.fields[0];
40
+ return toText(printf("Problem: %s"))(p_1.ProblemName);
41
+ }
42
+ case /* Prescription */ 9: {
43
+ const p_2: ClinicalPathway_PrescriptionAction = action.fields[0];
44
+ return toText(printf("Prescription: %s"))(p_2.Medication);
45
+ }
46
+ case /* NavigateToForm */ 11: {
47
+ const n: ClinicalPathway_NavigateToFormAction = action.fields[0];
48
+ return toText(printf("Navigate to: %s"))(n.FormId);
49
+ }
50
+ case /* SetFieldValue */ 10: {
51
+ const s: ClinicalPathway_SetFieldValueAction = action.fields[0];
52
+ const fieldGuid: string = s.TargetField.fields[0];
53
+ const shortGuid: string = (fieldGuid.length > 8) ? (substring(fieldGuid, 0, 8) + "...") : fieldGuid;
54
+ let valueText: string;
55
+ const matchValue: ClinicalPathway_FieldValueSource_$union = s.Value;
56
+ switch (matchValue.tag) {
57
+ case /* FieldReference */ 1: {
58
+ const g: string = matchValue.fields[0].fields[0];
59
+ valueText = "from field";
60
+ break;
61
+ }
62
+ case /* OptionKey */ 2: {
63
+ const g_1: string = matchValue.fields[0].fields[0];
64
+ valueText = "option";
65
+ break;
66
+ }
67
+ default: {
68
+ const v: string = matchValue.fields[0];
69
+ valueText = (isNullOrWhiteSpace(v) ? "(empty)" : v);
70
+ }
71
+ }
72
+ return toText(printf("Set Field: %s = %s"))(shortGuid)(valueText);
73
+ }
74
+ default: {
75
+ const m: ClinicalPathway_MedicationAction = action.fields[0];
76
+ return toText(printf("Rx: %s"))(m.Name);
77
+ }
78
+ }
79
+ }
80
+
81
+ export function extractActionDetails(action: ClinicalPathway_ActionInfo_$union): string {
82
+ switch (action.tag) {
83
+ case /* Procedure */ 4:
84
+ return action.fields[0].Name;
85
+ case /* Education */ 3:
86
+ return join("; ", action.fields[0].Topics);
87
+ case /* Test */ 1: {
88
+ const t: ClinicalPathway_TestAction = action.fields[0];
89
+ return toText(printf("Test: %s"))(t.TestName);
90
+ }
91
+ case /* Referral */ 2: {
92
+ const r: ClinicalPathway_ReferralAction = action.fields[0];
93
+ return toText(printf("Refer to %s (%s)"))(r.Target)(r.Reason);
94
+ }
95
+ case /* Documentation */ 5: {
96
+ const d: ClinicalPathway_DocumentationAction = action.fields[0];
97
+ return toText(printf("Document: %s"))(d.FormName);
98
+ }
99
+ case /* Task */ 6: {
100
+ const t_1: ClinicalPathway_TaskAction = action.fields[0];
101
+ return toText(printf("Task: %s"))(t_1.Description);
102
+ }
103
+ case /* Alert */ 7: {
104
+ const a: ClinicalPathway_AlertAction = action.fields[0];
105
+ return toText(printf("Alert: %s"))(a.Message);
106
+ }
107
+ case /* Problem */ 8: {
108
+ const p_1: ClinicalPathway_ProblemAction = action.fields[0];
109
+ return toText(printf("Problem: %s"))(p_1.ProblemName);
110
+ }
111
+ case /* Prescription */ 9: {
112
+ const p_2: ClinicalPathway_PrescriptionAction = action.fields[0];
113
+ return toText(printf("Prescription: %s"))(p_2.Medication);
114
+ }
115
+ case /* NavigateToForm */ 11: {
116
+ const n: ClinicalPathway_NavigateToFormAction = action.fields[0];
117
+ return toText(printf("Navigate to: %s"))(n.FormId);
118
+ }
119
+ case /* SetFieldValue */ 10: {
120
+ const s: ClinicalPathway_SetFieldValueAction = action.fields[0];
121
+ const guid: string = s.TargetField.fields[0];
122
+ let valueText: string;
123
+ const matchValue: ClinicalPathway_FieldValueSource_$union = s.Value;
124
+ switch (matchValue.tag) {
125
+ case /* FieldReference */ 1: {
126
+ valueText = (`from ${matchValue.fields[0].fields[0]}`);
127
+ break;
128
+ }
129
+ case /* OptionKey */ 2: {
130
+ valueText = (`option ${matchValue.fields[0].fields[0]}`);
131
+ break;
132
+ }
133
+ default: {
134
+ const v: string = matchValue.fields[0];
135
+ valueText = (isNullOrWhiteSpace(v) ? "(empty)" : v);
136
+ }
137
+ }
138
+ return toText(printf("Set Field %s = %s"))(guid)(valueText);
139
+ }
140
+ default: {
141
+ const m: ClinicalPathway_MedicationAction = action.fields[0];
142
+ return toText(printf("%s %s %s %s"))(m.Name)(m.Dose)(m.Route)(m.Frequency);
143
+ }
144
+ }
145
+ }
146
+
147
+ export function extractActionType(action: ClinicalPathway_ActionInfo_$union): string {
148
+ switch (action.tag) {
149
+ case /* Procedure */ 4:
150
+ return "Procedure";
151
+ case /* Education */ 3:
152
+ return "Education";
153
+ case /* Test */ 1:
154
+ return "Test";
155
+ case /* Referral */ 2:
156
+ return "Referral";
157
+ case /* Documentation */ 5:
158
+ return "Documentation";
159
+ case /* Task */ 6:
160
+ return "Task";
161
+ case /* Alert */ 7:
162
+ return "Alert";
163
+ case /* Problem */ 8:
164
+ return "Problem";
165
+ case /* Prescription */ 9:
166
+ return "Prescription";
167
+ case /* SetFieldValue */ 10:
168
+ return "SetFieldValue";
169
+ case /* NavigateToForm */ 11:
170
+ return "NavigateToForm";
171
+ default:
172
+ return "Medication";
173
+ }
174
+ }
175
+
176
+ export function extractDecisionDetails(decision: ClinicalPathway_DecisionInfo): [string, FSharpList<string>] {
177
+ return [decision.Question, filter<string>((opt: string): boolean => {
178
+ if ((opt !== "Yes") && (opt !== "No")) {
179
+ return opt !== "None of the above";
180
+ }
181
+ else {
182
+ return false;
183
+ }
184
+ }, decision.Options)] as [string, FSharpList<string>];
185
+ }
186
+
187
+ export function extractEvaluationDetails(evaluation: ClinicalPathway_EvaluationInfo): [string, FSharpList<string>] {
188
+ let matchValue: Option<FSharpList<string>>;
189
+ return [evaluation.EvaluationName, (matchValue = evaluation.CriticalFindings, (matchValue == null) ? empty<string>() : value(matchValue))] as [string, FSharpList<string>];
190
+ }
191
+
192
+ export function extractEvaluationName(evaluation: ClinicalPathway_EvaluationInfo): string {
193
+ return evaluation.EvaluationName;
194
+ }
195
+
196
+ export function stateTypeToString(stateType: ClinicalPathway_StateType_$union): string {
197
+ switch (stateType.tag) {
198
+ case /* Decision */ 1:
199
+ return "Decision";
200
+ case /* Action */ 2:
201
+ return "Action";
202
+ case /* CompoundAction */ 3:
203
+ return "CompoundAction";
204
+ case /* ConditionalAction */ 4:
205
+ return "ConditionalAction";
206
+ case /* Terminal */ 5:
207
+ return "Terminal";
208
+ default:
209
+ return "Evaluation";
210
+ }
211
+ }
212
+
213
+ export function isTerminalState(stateType: ClinicalPathway_StateType_$union): boolean {
214
+ if (stateType.tag === /* Terminal */ 5) {
215
+ return true;
216
+ }
217
+ else {
218
+ return false;
219
+ }
220
+ }
221
+
222
+ export function extractCompoundActionTexts(actions: FSharpList<ClinicalPathway_ActionInfo_$union>): FSharpList<string> {
223
+ return map<ClinicalPathway_ActionInfo_$union, string>(extractActionText, actions);
224
+ }
225
+
226
+ export function extractCompoundActionDetails(actions: FSharpList<ClinicalPathway_ActionInfo_$union>): FSharpList<string> {
227
+ return map<ClinicalPathway_ActionInfo_$union, string>(extractActionDetails, actions);
228
+ }
229
+
230
+ export function sanitizeMermaidId(id: string): string {
231
+ return replace(replace(replace(id, "-", "_"), " ", "_"), ".", "_");
232
+ }
233
+
234
+ export function sanitizeMermaidText(text: string): string {
235
+ return replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(text, "\"", "\'"), "(", "-"), ")", "-"), "{", "-"), "}", "-"), "<", "-"), ">", "-"), "|", "/"), "`", "\'"), "\n", " "), "\r", " "), " ", " ");
236
+ }
237
+
238
+ export function wrapTextForReactFlow(text: string, maxWidth: int32): string {
239
+ if (text.length <= maxWidth) {
240
+ return text;
241
+ }
242
+ else {
243
+ const words: string[] = map_1<string, string>((word: string): string => {
244
+ if (text.indexOf(`${word} =`) >= 0) {
245
+ return `${word} =`;
246
+ }
247
+ else if (text.indexOf(`${word},`) >= 0) {
248
+ return `${word},`;
249
+ }
250
+ else if (text.indexOf(`${word};`) >= 0) {
251
+ return `${word};`;
252
+ }
253
+ else if (text.indexOf(`${word}:`) >= 0) {
254
+ return `${word}:`;
255
+ }
256
+ else {
257
+ return word;
258
+ }
259
+ }, split(text, [" ", ",", ";", "=", ":"], undefined, 1));
260
+ let lines: FSharpList<string> = empty<string>();
261
+ let currentLine = "";
262
+ for (let idx = 0; idx <= (words.length - 1); idx++) {
263
+ const word_1: string = item(idx, words);
264
+ if (currentLine === "") {
265
+ currentLine = word_1;
266
+ }
267
+ else if (((currentLine + " ") + word_1).length <= maxWidth) {
268
+ currentLine = ((currentLine + " ") + word_1);
269
+ }
270
+ else {
271
+ lines = append(lines, singleton(currentLine));
272
+ currentLine = word_1;
273
+ }
274
+ }
275
+ if (currentLine !== "") {
276
+ lines = append(lines, singleton(currentLine));
277
+ }
278
+ return join("\n", lines);
279
+ }
280
+ }
281
+
282
+ export function extractStateKeyString(stateKey: Shared_StateKey): string {
283
+ return stateKey.fields[0];
284
+ }
285
+
286
+ export function getTerminalOutcome(terminal: ClinicalPathway_TerminalInfo): string {
287
+ return terminal.Outcome;
288
+ }
289
+
290
+ //# sourceMappingURL=PathwayDataExtractor.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../FormSpec.FS/PathwayDataExtractor.fs"],"names":["action","p","e","t","r","d","a","n","s","fieldGuid","shortGuid","valueText","matchValue","g","v","m","guid","decision","opt","evaluation","stateType","extractActionText","actions","extractActionDetails","id","text","maxWidth","words","word","lines","currentLine","idx","stateKey","terminal"],"mappings":"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\u002BCAASC,mBAApBC;;;;WAIW,\u002BCAASC,sBAApBD;;;;WAIA,QAAA,QAAA,QAAAE,IAAW,KAAK,MAAa,KAAK,MAAa,KAAK;;;;WAKpD,QAAA,QAAA,QAAA,QAAA,QAAA,QAAA,QAAA,QAAA,QAAA,QAAA,QAAA,QAAAC,MAEa,MAAM,OAEN,KAAK,MACL,KAAK,MAEL,KAAK,MACL,KAAK,MAEL,KAAK,MACL,KAAK,MAEL,KAAK,MAEL,KAAK,OAEL,MAAM,MACN,MAAM,MAEN,MAAM;;;;AAKnB,QAAG,AAAAA,eAAeC;eACdD;;;AAGIE,gCAEG;AAEC,gBAAG,AAAAF,aAAc,GAAGG;uBAAe,GAAGA;;iBACtC,IAAK,AAAAH,aAAc,GAAGG;uBAAc,GAAGA;;iBACvC,IAAK,AAAAH,aAAc,GAAGG;uBAAc,GAAGA;;iBACvC,IAAK,AAAAH,aAAc,GAAGG;uBAAc,GAAGA;;;uBAClCA;;WAPT,MAAAH,OAAa,KAAK,KAAK,KAAK,KAAK,iBAAO;AAUhCI,wCAAQ;AACRC,0BAAc;AAE1B,uBAAA,GAAIC,QAAJ,AAAYJ,eAAZ,IAAII;AAAAH,mCAAK,KAALG,KAAQJ;AACR,gBAAG,AAAAG,gBAAc;AACb,AAAAA,8BAAeF;;iBACnB,IAAK,CAAC,CAAA,AAAAE,cAAc,OAAMF,kBAAgBF;AACtC,AAAAI,\u002BBAAe,CAAA,AAAAA,cAAc,OAAMF;;;AAEnC,AAAAC,wBAAS,OAAAA,OAAQ,UAACC;AAClB,AAAAA,8BAAeF;;;AAEvB,YAAG,AAAAE,gBAAe;AACd,AAAAD,oBAAS,OAAAA,OAAQ,UAACC;;AAGtB,eAAA,KAAc,MAAKD;;;;;WAInB,AAAAG;;;;WAKJ,AAAAC","file":null,"sourcesContent":null,"sourceRoot":null}