@f1studio/form-spec 5.0.0-alpha.146 → 5.0.0-alpha.148

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.
@@ -27,9 +27,21 @@ _export(exports, {
27
27
  get AllergyValidationResult_$reflection () {
28
28
  return AllergyValidationResult_$reflection;
29
29
  },
30
+ get PropertyKeys_AllergiesJson () {
31
+ return PropertyKeys_AllergiesJson;
32
+ },
33
+ get PropertyKeys_AllergyCount () {
34
+ return PropertyKeys_AllergyCount;
35
+ },
36
+ get PropertyKeys_HasSevereAllergy () {
37
+ return PropertyKeys_HasSevereAllergy;
38
+ },
30
39
  get isSevere () {
31
40
  return isSevere;
32
41
  },
42
+ get serializeAllergiesToCanonical () {
43
+ return serializeAllergiesToCanonical;
44
+ },
33
45
  get validCategories () {
34
46
  return validCategories;
35
47
  },
@@ -59,15 +71,24 @@ const _Seq = require("@fable-org/fable-library-js/Seq.js");
59
71
  const _Decode = require("../../../Thoth.Json/packages/Thoth.Json/Decode.js");
60
72
  const _Option = require("@fable-org/fable-library-js/Option.js");
61
73
  const _Guid = require("@fable-org/fable-library-js/Guid.js");
74
+ const _FormSpec = require("../../../FormSpec.FS/FormSpec.js");
75
+ const _Encode = require("../../../Thoth.Json/packages/Thoth.Json/Encode.js");
76
+ const _List = require("@fable-org/fable-library-js/List.js");
77
+ const _BlueprintFilledForm = require("../../../FormSpec.FS/Interop/Facade/BlueprintFilledForm.js");
62
78
  class AllergyEntryData extends _Types.Record {
63
- constructor(Id, Name, SubstanceName, Category, Severity, Reactions){
79
+ constructor(Id, Name, SubstanceName, NdcCode, Category, Severity, Reactions, Remedy, OnsetTiming, StaffOnly, Notes){
64
80
  super();
65
81
  this.Id = Id;
66
82
  this.Name = Name;
67
83
  this.SubstanceName = SubstanceName;
84
+ this.NdcCode = NdcCode;
68
85
  this.Category = Category;
69
86
  this.Severity = Severity;
70
87
  this.Reactions = Reactions;
88
+ this.Remedy = Remedy;
89
+ this.OnsetTiming = OnsetTiming;
90
+ this.StaffOnly = StaffOnly;
91
+ this.Notes = Notes;
71
92
  }
72
93
  }
73
94
  function AllergyEntryData_$reflection() {
@@ -84,6 +105,10 @@ function AllergyEntryData_$reflection() {
84
105
  "SubstanceName",
85
106
  _Reflection.string_type
86
107
  ],
108
+ [
109
+ "NdcCode",
110
+ _Reflection.string_type
111
+ ],
87
112
  [
88
113
  "Category",
89
114
  _Reflection.string_type
@@ -95,6 +120,22 @@ function AllergyEntryData_$reflection() {
95
120
  [
96
121
  "Reactions",
97
122
  (0, _Reflection.array_type)(_Reflection.string_type)
123
+ ],
124
+ [
125
+ "Remedy",
126
+ _Reflection.string_type
127
+ ],
128
+ [
129
+ "OnsetTiming",
130
+ _Reflection.string_type
131
+ ],
132
+ [
133
+ "StaffOnly",
134
+ _Reflection.bool_type
135
+ ],
136
+ [
137
+ "Notes",
138
+ _Reflection.string_type
98
139
  ]
99
140
  ]);
100
141
  }
@@ -211,13 +252,73 @@ function validateAllergyData(entries, reportedCount, reportedHasSevere) {
211
252
  const extraValidations = (0, _Seq.toArray)((0, _Seq.delay)(()=>(0, _Seq.append)(!countMatches ? (0, _Seq.singleton)(new AllergyPropertyValidation("(count)", false, "invalid", `allergy_count is ${reportedCount} but actual count is ${entries.length}`)) : (0, _Seq.empty)(), (0, _Seq.delay)(()=>!severeMatches ? (0, _Seq.singleton)(new AllergyPropertyValidation("(severity)", false, "invalid", `has_severe_allergy is ${reportedHasSevere} but computed is ${computedHasSevere}`)) : (0, _Seq.empty)()))));
212
253
  return new AllergyValidationResult(isValid, computedHasSevere, entries.length, (0, _Array.append)(validations, extraValidations));
213
254
  }
214
- const allergyEntryDecoder = (path_14)=>(v)=>(0, _Decode.object)((get$)=>{
215
- let objectArg, objectArg_1, copyOfStruct, objectArg_2, objectArg_3, objectArg_4, objectArg_6, objectArg_7, objectArg_8, objectArg_9, objectArg_10, objectArg_11;
255
+ const allergyEntryDecoder = (path_24)=>(v)=>(0, _Decode.object)((get$)=>{
256
+ let objectArg, objectArg_1, copyOfStruct, objectArg_2, objectArg_3, objectArg_4, objectArg_6, objectArg_7, objectArg_8, objectArg_9, objectArg_10, objectArg_11, objectArg_12, objectArg_13, objectArg_14, objectArg_15, objectArg_16, objectArg_17, objectArg_18, objectArg_19, objectArg_20, objectArg_21;
216
257
  return new AllergyEntryData((0, _Option.defaultArg)((0, _Option.orElse)((objectArg = get$.Optional, objectArg.Field("id", _Decode.string)), (objectArg_1 = get$.Optional, objectArg_1.Field("Id", _Decode.string))), (copyOfStruct = (0, _Guid.newGuid)(), copyOfStruct)), (objectArg_2 = get$.Required, objectArg_2.Field("Name", _Decode.string)), (0, _Option.defaultArgWith)((0, _Option.orElse)((objectArg_3 = get$.Optional, objectArg_3.Field("SubstanceName", _Decode.string)), (objectArg_4 = get$.Optional, objectArg_4.Field("substanceName", _Decode.string))), ()=>{
217
258
  const objectArg_5 = get$.Required;
218
259
  return objectArg_5.Field("Name", _Decode.string);
219
- }), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_6 = get$.Optional, objectArg_6.Field("Category", _Decode.string)), (objectArg_7 = get$.Optional, objectArg_7.Field("category", _Decode.string))), "drug"), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_8 = get$.Optional, objectArg_8.Field("Severity", _Decode.string)), (objectArg_9 = get$.Optional, objectArg_9.Field("severity", _Decode.string))), "unknown"), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_10 = get$.Optional, objectArg_10.Field("Reactions", (path_11, value_14)=>(0, _Decode.array)(_Decode.string, path_11, value_14))), (objectArg_11 = get$.Optional, objectArg_11.Field("reactions", (path_13, value_16)=>(0, _Decode.array)(_Decode.string, path_13, value_16)))), []));
220
- }, path_14, v);
260
+ }), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_6 = get$.Optional, objectArg_6.Field("NdcCode", _Decode.string)), (objectArg_7 = get$.Optional, objectArg_7.Field("ndcCode", _Decode.string))), ""), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_8 = get$.Optional, objectArg_8.Field("Category", _Decode.string)), (objectArg_9 = get$.Optional, objectArg_9.Field("category", _Decode.string))), "drug"), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_10 = get$.Optional, objectArg_10.Field("Severity", _Decode.string)), (objectArg_11 = get$.Optional, objectArg_11.Field("severity", _Decode.string))), "unknown"), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_12 = get$.Optional, objectArg_12.Field("Reactions", (path_13, value_17)=>(0, _Decode.array)(_Decode.string, path_13, value_17))), (objectArg_13 = get$.Optional, objectArg_13.Field("reactions", (path_15, value_19)=>(0, _Decode.array)(_Decode.string, path_15, value_19)))), []), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_14 = get$.Optional, objectArg_14.Field("Remedy", _Decode.string)), (objectArg_15 = get$.Optional, objectArg_15.Field("remedy", _Decode.string))), ""), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_16 = get$.Optional, objectArg_16.Field("OnsetTiming", _Decode.string)), (objectArg_17 = get$.Optional, objectArg_17.Field("onsetTiming", _Decode.string))), ""), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_18 = get$.Optional, objectArg_18.Field("StaffOnly", _Decode.bool)), (objectArg_19 = get$.Optional, objectArg_19.Field("staffOnly", _Decode.bool))), false), (0, _Option.defaultArg)((0, _Option.orElse)((objectArg_20 = get$.Optional, objectArg_20.Field("Notes", _Decode.string)), (objectArg_21 = get$.Optional, objectArg_21.Field("notes", _Decode.string))), ""));
261
+ }, path_24, v);
262
+ const PropertyKeys_AllergyCount = new _FormSpec.Shared_PluginPropertyKey("af100001-af10-af10-af10-af10af10af10");
263
+ const PropertyKeys_HasSevereAllergy = new _FormSpec.Shared_PluginPropertyKey("af100002-af10-af10-af10-af10af10af10");
264
+ const PropertyKeys_AllergiesJson = new _FormSpec.Shared_PluginPropertyKey("af100003-af10-af10-af10-af10af10af10");
265
+ function allergyEntryEncoder(a) {
266
+ return (0, _Encode.object)([
267
+ [
268
+ "Id",
269
+ a.Id
270
+ ],
271
+ [
272
+ "Name",
273
+ a.Name
274
+ ],
275
+ [
276
+ "SubstanceName",
277
+ a.SubstanceName
278
+ ],
279
+ [
280
+ "NdcCode",
281
+ (0, _String.isNullOrEmpty)(a.NdcCode) ? _Encode.nil : a.NdcCode
282
+ ],
283
+ [
284
+ "Category",
285
+ a.Category
286
+ ],
287
+ [
288
+ "Severity",
289
+ a.Severity
290
+ ],
291
+ [
292
+ "Reactions",
293
+ (0, _Encode.list)((0, _List.ofArray)((0, _Array.map)((value_6)=>value_6, a.Reactions)))
294
+ ],
295
+ [
296
+ "Remedy",
297
+ (0, _String.isNullOrEmpty)(a.Remedy) ? _Encode.nil : a.Remedy
298
+ ],
299
+ [
300
+ "OnsetTiming",
301
+ (0, _String.isNullOrEmpty)(a.OnsetTiming) ? _Encode.nil : a.OnsetTiming
302
+ ],
303
+ [
304
+ "StaffOnly",
305
+ a.StaffOnly
306
+ ],
307
+ [
308
+ "Notes",
309
+ (0, _String.isNullOrEmpty)(a.Notes) ? _Encode.nil : a.Notes
310
+ ]
311
+ ]);
312
+ }
313
+ function serializeAllergiesToCanonical(entries) {
314
+ const hasSevere = entries.some((e)=>isSevere(e.Severity));
315
+ const allergiesJson = (0, _Encode.toString)(0, (0, _Encode.list)((0, _List.ofArray)((0, _Array.map)(allergyEntryEncoder, entries))));
316
+ return (0, _BlueprintFilledForm.Convert_fieldValueToTs)((0, _FormSpec.Shared_FieldValue_PluginData)((0, _List.ofArray)([
317
+ new _FormSpec.Shared_PluginDataProperty(PropertyKeys_AllergyCount, "allergy_count", "int", (0, _Util.int32ToString)(entries.length), "Allergy Count", undefined, undefined),
318
+ new _FormSpec.Shared_PluginDataProperty(PropertyKeys_HasSevereAllergy, "has_severe_allergy", "bool", (0, _Types.toString)(hasSevere).toLowerCase(), "Has Severe Allergy", undefined, undefined),
319
+ new _FormSpec.Shared_PluginDataProperty(PropertyKeys_AllergiesJson, "allergies_json", "string", allergiesJson, "Allergies Data", undefined, undefined)
320
+ ])));
321
+ }
221
322
  function validateAllergyPluginData(properties) {
222
323
  const findProp = (name)=>(0, _Array.tryFind)((p)=>(0, _String.compare)(p.Name, name, 5) === 0, properties);
223
324
  const allergiesJson = (0, _Option.defaultArg)((0, _Option.map)((p_1)=>p_1.Value, findProp("allergies_json")), "[]");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.ts"],"names":["severity","entry","validCategories","validSeverities","isSevere","validations","validateAllergyEntry","entries","allValid","array","v","computedHasSevere","e","countMatches","reportedCount","severeMatches","reportedHasSevere","isValid","extraValidations","objectArg","copyOfStruct","get","path","value","findProp","p","name","properties","allergiesJson","matchValue","outArg","allergyEntryDecoder","validateAllergyData"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.ts"],"names":["severity","entry","validCategories","validSeverities","isSevere","validations","validateAllergyEntry","entries","allValid","array","v","computedHasSevere","e","countMatches","reportedCount","severeMatches","reportedHasSevere","isValid","extraValidations","objectArg","copyOfStruct","get","path","value","a","hasSevere","allergiesJson","allergyEntryEncoder","AllergyCount","HasSevereAllergy","AllergiesJson","findProp","p","name","properties","matchValue","outArg","allergyEntryDecoder","validateAllergyData"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../plugins/allergyfinder/src/AllergyLogic.fs"],"names":["severity","entry","validCategories","validSeverities","isSevere","validations","validateAllergyEntry","entries","allValid","array","v","computedHasSevere","e","countMatches","reportedCount","severeMatches","reportedHasSevere","isValid","extraValidations","objectArg","copyOfStruct","get","path","value","findProp","p","name","properties","allergiesJson","matchValue","outArg","allergyEntryDecoder","validateAllergyData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA8C6B,QAAQ,QAAQ,iBAAiB;;0CACjC,WAAW,QAAQ,YAAY,UAAU;;4CACvC,aAAa,WAAW,WAAW;;;AAG1D,QAAA,AAAAA,aAAW;eAAX;;;AAAuB,eAAA,AAAAA,aAAW;;;;;;;;AAQlC,QAAG,mBAA0B,AAAAC;AACzB,eAAA,8BAAgB,WAAqB,OAAwB,WACjD;;SAChB,IAAK,CAAwB,iBAAe,AAAAA,gBAAlCC;;;;AACN,eAAA,8BAAgB,AAAAD,YAAsB,OAAwB,WAClD,qBAAqB,AAAAA,uBAAsB,AAAAA;;SAC3D,IAAK,CAAwB,iBAAe,AAAAA,gBAAlCE;;;;AACN,eAAA,8BAAgB,AAAAF,YAAsB,OAAwB,WAClD,qBAAqB,AAAAA,uBAAsB,AAAAA;;SAC3D,IAAK,AAAAG,SAAS,AAAAH;AACV,eAAA,8BAAgB,AAAAA,YAAsB,MAAuB,kBACjD,GAAG,AAAAA,gBAAe,AAAAA;;;AAE9B,eAAA,8BAAgB,AAAAA,YAAsB,MAAuB,SACjD;;;;;;;;AAaZI,qDAAyB,iDAAUC,sBAArBC;AACdC,8BAA0B,AAAAC,AAAfJ,6DAAsC,AAAAK;AACjDC,uCAA\u002BB,AAAAF,AAAXF,\u002BCAAkC,AAAAH,SAAS,AAAAQ;AAC/DC,kCAAe,AAAAC,kBAAgB,AAAAP;AAC/BQ,mCAAgB,AAAAC,sBAAoBL;AAEpCM,6BAAU,CAAA,AAAAT,YAAYK,iBAAgBE;AAGtCG,0DACA,mCACI,4EAAA,kCAAA,AAAG,CAAIL,eACH,qCAAM,8BAAgB,WAAqB,OAAwB,WACjD,oBAAoBC,qCAAoC,AAAAP,qBAF9E,oCAGA,6EAAA,AAAG,CAAIQ,gBACH,qCAAM,8BAAgB,cAAwB,OAAwB,WACpD,yBAAyBC,qCAAoCL,wBAFnF;AAKR,WAAA,4BACcM,SACSN,mBACJ,AAAAJ,gBACD,oCAAaF,aAAYa;;;6NAQ3C;QAEaC,4BACkBA,8BACMC,sBACtBD,8BAEHA,8BACkBA,8BAGlBA,8BACkBA,8BAGlBA,8BACkBA,8BAGlBA,\u002BBACkBA;WAnB1B,qBAGY,WADA,QADHA,YAAA,AAAAE,eAAA,AAAAF,wBAAmB,iBACDA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,kBACbC,0BAAAA,iBACtBD,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,kBAInB,uBADA,QADHA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,4BACDA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB;AACJA,6CAAA,AAAAE;AAAA,eAAA,AAAAF,0BAAmB;QAIjD,WADA,QADHA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,uBACDA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,uBACd,SAIpB,WADA,QADHA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,uBACDA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,uBACd,YAIpB,WADA,QADHA,eAAA,AAAAE,eAAA,AAAAF,6BAAmB,gHAAa,wBAAAG,SAAAC,cACdJ,eAAA,AAAAE,eAAA,AAAAF,6BAAmB,gHAAa,wBAAAG,SAAAC;GApB9DD,SAAAZ;;;;;;;;AAiCIc,0EACc,\u002BEACV,QAAA,AAAAC,QAAcC,MAAM,WADxBC;AAIAC,kCAGG,WADA,qFAAqB,AAAAH,WADxB,AAAAD,SAAS,oBAEc;AAEvBV,iCAMG,WAJA;AACOe;AAAAC;AAAAD,uBAAA,SAAe,AAAAJ,2BAAf,kCAAAK;AAAAA;aAAAA;AAAA,YAAA,AAAAD;AACO,mBAAA,AAAAA;;;AACN,mBAAA;;OAJX,AAAAL,SAAS,mBAKc;AAEvBR,uCAGG,WADA;AAAqB,YAAA,QAAA,AAAAS,WAAe,QAAQ;mBAAvB;;;AAA8D,mBAAA,QAAA,AAAAA,WAAe,QAAQ;;OAD7G,AAAAD,SAAS,wBAEc;AAG3B,QAAG,mBAA0BI,iBAA1B,QAA2C,AAAAA,kBAAgB;AAC1D,eAAA,4BAAY,MAAyB,OAAsB;;;AAErDC,gFAAA,wIAAmB,mCAAaE,sBAAbT,MAAAC,UAAkCK;AAArD,YAAA,AAAAC;AAIF,mBAAA,4BAAY,OAA0B,OAAsB,IAExD,8BAAgB,WAAqB,OAAwB,WACjD,mCAHhB,AAAAA;;;AAFA,mBAAA,AAAAG,oBAAA,AAAAH,wBAA4Bf,eAAcE","file":null,"sourcesContent":null,"sourceRoot":null}
1
+ {"version":3,"sources":["../../../../../../plugins/allergyfinder/src/AllergyLogic.fs"],"names":["severity","entry","validCategories","validSeverities","isSevere","validations","validateAllergyEntry","entries","allValid","array","v","computedHasSevere","e","countMatches","reportedCount","severeMatches","reportedHasSevere","isValid","extraValidations","objectArg","copyOfStruct","get","path","value","a","hasSevere","allergiesJson","allergyEntryEncoder","AllergyCount","HasSevereAllergy","AllergiesJson","findProp","p","name","properties","matchValue","outArg","allergyEntryDecoder","validateAllergyData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAoD6B,QAAQ,QAAQ,iBAAiB;;0CACjC,WAAW,QAAQ,YAAY,UAAU;;4CACvC,aAAa,WAAW,WAAW;;;AAG1D,QAAA,AAAAA,aAAW;eAAX;;;AAAuB,eAAA,AAAAA,aAAW;;;;;;;;AAQlC,QAAG,mBAA0B,AAAAC;AACzB,eAAA,8BAAgB,WAAqB,OAAwB,WACjD;;SAChB,IAAK,CAAwB,iBAAe,AAAAA,gBAAlCC;;;;AACN,eAAA,8BAAgB,AAAAD,YAAsB,OAAwB,WAClD,qBAAqB,AAAAA,uBAAsB,AAAAA;;SAC3D,IAAK,CAAwB,iBAAe,AAAAA,gBAAlCE;;;;AACN,eAAA,8BAAgB,AAAAF,YAAsB,OAAwB,WAClD,qBAAqB,AAAAA,uBAAsB,AAAAA;;SAC3D,IAAK,AAAAG,SAAS,AAAAH;AACV,eAAA,8BAAgB,AAAAA,YAAsB,MAAuB,kBACjD,GAAG,AAAAA,gBAAe,AAAAA;;;AAE9B,eAAA,8BAAgB,AAAAA,YAAsB,MAAuB,SACjD;;;;;;;;AAaZI,qDAAyB,iDAAUC,sBAArBC;AACdC,8BAA0B,AAAAC,AAAfJ,6DAAsC,AAAAK;AACjDC,uCAA\u002BB,AAAAF,AAAXF,\u002BCAAkC,AAAAH,SAAS,AAAAQ;AAC/DC,kCAAe,AAAAC,kBAAgB,AAAAP;AAC/BQ,mCAAgB,AAAAC,sBAAoBL;AAEpCM,6BAAU,CAAA,AAAAT,YAAYK,iBAAgBE;AAGtCG,0DACA,mCACI,4EAAA,kCAAA,AAAG,CAAIL,eACH,qCAAM,8BAAgB,WAAqB,OAAwB,WACjD,oBAAoBC,qCAAoC,AAAAP,qBAF9E,oCAGA,6EAAA,AAAG,CAAIQ,gBACH,qCAAM,8BAAgB,cAAwB,OAAwB,WACpD,yBAAyBC,qCAAoCL,wBAFnF;AAKR,WAAA,4BACcM,SACSN,mBACJ,AAAAJ,gBACD,oCAAaF,aAAYa;;;6NAQ3C;QAEaC,4BACkBA,8BACMC,sBACtBD,8BAEHA,8BACkBA,8BAGlBA,8BACkBA,8BAGlBA,8BACkBA,8BAGlBA,\u002BBACkBA,\u002BBAGlBA,\u002BBACkBA,\u002BBAGlBA,\u002BBACkBA,\u002BBAGlBA,\u002BBACkBA,\u002BBAGlBA,\u002BBACkBA,\u002BBAGlBA,\u002BBACkBA;WAvC1B,qBAGY,WADA,QADHA,YAAA,AAAAE,eAAA,AAAAF,wBAAmB,iBACDA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,kBACbC,0BAAAA,iBACtBD,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,kBAInB,uBADA,QADHA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,4BACDA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB;AACJA,6CAAA,AAAAE;AAAA,eAAA,AAAAF,0BAAmB;QAIjD,WADA,QADHA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,sBACDA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,sBACd,KAIpB,WADA,QADHA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,uBACDA,cAAA,AAAAE,eAAA,AAAAF,0BAAmB,uBACd,SAIpB,WADA,QADHA,eAAA,AAAAE,eAAA,AAAAF,2BAAmB,uBACDA,eAAA,AAAAE,eAAA,AAAAF,2BAAmB,uBACd,YAIpB,WADA,QADHA,eAAA,AAAAE,eAAA,AAAAF,6BAAmB,gHAAa,wBAAAG,SAAAC,cACdJ,eAAA,AAAAE,eAAA,AAAAF,6BAAmB,gHAAa,wBAAAG,SAAAC,mBAK/C,WADA,QADHJ,eAAA,AAAAE,eAAA,AAAAF,2BAAmB,qBACDA,eAAA,AAAAE,eAAA,AAAAF,2BAAmB,qBACd,KAIpB,WADA,QADHA,eAAA,AAAAE,eAAA,AAAAF,2BAAmB,0BACDA,eAAA,AAAAE,eAAA,AAAAF,2BAAmB,0BACd,KAIpB,WADA,QADHA,eAAA,AAAAE,eAAA,AAAAF,4BAAmB,sBACDA,eAAA,AAAAE,eAAA,AAAAF,4BAAmB,sBACd,QAIpB,WADA,QADHA,eAAA,AAAAE,eAAA,AAAAF,2BAAmB,oBACDA,eAAA,AAAAE,eAAA,AAAAF,2BAAmB,oBACd;GAzCnCG,SAAAZ;;mEAkDmB;;uEACI;;oEACH;;;WAOpB,WACI,MAAoB,AAAAc,yBACpB,QAAsB,AAAAA,2BACtB,iBAA\u002BB,AAAAA,oCAC/B,WAAY,AAAG,cAAqB,AAAAA,mBAA6C,AAAAA,8BACjF,YAA0B,AAAAA,\u002BBAC1B,YAA0B,AAAAA,\u002BBAC1B,aAAuE,KAAhB,aAA3B,2CAAUD,SAAzB,AAAAC,mCACb,UAAW,AAAG,cAAqB,AAAAA,kBAA4C,AAAAA,6BAC/E,eAAgB,AAAG,cAAqB,AAAAA,uBAAiD,AAAAA,kCACzF,aAAyB,AAAAA,gCACzB,SAAU,AAAG,cAAqB,AAAAA,iBAA2C,AAAAA;;;;;;;;;AAY7EC,\u002BBAAuB,AAAAhB,AAAXF,\u002BCAAkC,AAAAH,SAAS,AAAAQ;AACvDc,kCAA2F,SAAgB,GAA/B,KAAhB,aAAjC,2BAAUC,qBAArBpB;AAcpB,WAAA,oDAZ4C,SACxC,8BAAgBqB,2BACP,iBAA4B,qBAAsB,AAAArB,iBACtC,iBAAwB,WAAoB,YACjE,8BAAgBsB,\u002BBACP,sBAAiC,QAAgB,AAAC,WAAOJ,0BAC7C,sBAA6B,WAAoB,YACtE,8BAAgBK,4BACP,kBAA6B,UAAkBJ,eACnC,kBAAyB,WAAoB;;;;;;;;;AAalEK,0EACc,\u002BEACV,QAAA,AAAAC,QAAcC,MAAM,WADxBC;AAIAR,kCAGG,WADA,qFAAqB,AAAAM,WADxB,AAAAD,SAAS,oBAEc;AAEvBjB,iCAMG,WAJA;AACOqB;AAAAC;AAAAD,uBAAA,SAAe,AAAAH,2BAAf,kCAAAI;AAAAA;aAAAA;AAAA,YAAA,AAAAD;AACO,mBAAA,AAAAA;;;AACN,mBAAA;;OAJX,AAAAJ,SAAS,mBAKc;AAEvBf,uCAGG,WADA;AAAqB,YAAA,QAAA,AAAAgB,WAAe,QAAQ;mBAAvB;;;AAA8D,mBAAA,QAAA,AAAAA,WAAe,QAAQ;;OAD7G,AAAAD,SAAS,wBAEc;AAG3B,QAAG,mBAA0BL,iBAA1B,QAA2C,AAAAA,kBAAgB;AAC1D,eAAA,4BAAY,MAAyB,OAAsB;;;AAErDS,gFAAA,wIAAmB,mCAAaE,sBAAbf,MAAAC,UAAkCG;AAArD,YAAA,AAAAS;AAIF,mBAAA,4BAAY,OAA0B,OAAsB,IAExD,8BAAgB,WAAqB,OAAwB,WACjD,mCAHhB,AAAAA;;;AAFA,mBAAA,AAAAG,oBAAA,AAAAH,wBAA4BrB,eAAcE","file":null,"sourcesContent":null,"sourceRoot":null}
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # FormSpec – Build & Publish
2
2
 
3
- **Version: `5.0.0-alpha.146`**
3
+ **Version: `5.0.0-alpha.148`**
4
4
 
5
5
  TypeScript package generated from F# via Fable. Runtime uses external `@fable-org/fable-library-js`.
6
6
 
@@ -63,17 +63,17 @@ Notes:
63
63
  ### From Verdaccio (local testing)
64
64
 
65
65
  ```bash
66
- npm install @f1studio/form-spec@5.0.0-alpha.146 --registry http://localhost:4873
67
- pnpm add @f1studio/form-spec@5.0.0-alpha.146 --registry http://localhost:4873
68
- bun add @f1studio/form-spec@5.0.0-alpha.146 --registry http://localhost:4873
66
+ npm install @f1studio/form-spec@5.0.0-alpha.148 --registry http://localhost:4873
67
+ pnpm add @f1studio/form-spec@5.0.0-alpha.148 --registry http://localhost:4873
68
+ bun add @f1studio/form-spec@5.0.0-alpha.148 --registry http://localhost:4873
69
69
  ```
70
70
 
71
71
  ### From npm (public registry)
72
72
 
73
73
  ```bash
74
- npm install @f1studio/form-spec@5.0.0-alpha.146
75
- pnpm add @f1studio/form-spec@5.0.0-alpha.146
76
- bun add @f1studio/form-spec@5.0.0-alpha.146
74
+ npm install @f1studio/form-spec@5.0.0-alpha.148
75
+ pnpm add @f1studio/form-spec@5.0.0-alpha.148
76
+ bun add @f1studio/form-spec@5.0.0-alpha.148
77
77
  ```
78
78
 
79
79
  Entry points:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@f1studio/form-spec",
3
- "version": "5.0.0-alpha.146",
3
+ "version": "5.0.0-alpha.148",
4
4
  "description": "F1 Core - Form specification and types",
5
5
  "main": "./FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js",
6
6
  "types": "./FormSpec.FS/Interop/FormSpec.Api.Option.d.ts",
@@ -2,15 +2,20 @@ import { Record } from "@fable-org/fable-library-js/Types.js";
2
2
  import { IComparable, IEquatable } from "@fable-org/fable-library-js/Util.js";
3
3
  import { TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
4
4
  import { int32 } from "@fable-org/fable-library-js/Int32.js";
5
- import { Shared_PluginDataProperty } from "../../../FormSpec.FS/FormSpec.js";
5
+ import { Shared_PluginDataProperty, Shared_PluginPropertyKey } from "../../../FormSpec.FS/FormSpec.js";
6
6
  export declare class AllergyEntryData extends Record implements IEquatable<AllergyEntryData>, IComparable<AllergyEntryData> {
7
7
  readonly Id: string;
8
8
  readonly Name: string;
9
9
  readonly SubstanceName: string;
10
+ readonly NdcCode: string;
10
11
  readonly Category: string;
11
12
  readonly Severity: string;
12
13
  readonly Reactions: string[];
13
- constructor(Id: string, Name: string, SubstanceName: string, Category: string, Severity: string, Reactions: string[]);
14
+ readonly Remedy: string;
15
+ readonly OnsetTiming: string;
16
+ readonly StaffOnly: boolean;
17
+ readonly Notes: string;
18
+ constructor(Id: string, Name: string, SubstanceName: string, NdcCode: string, Category: string, Severity: string, Reactions: string[], Remedy: string, OnsetTiming: string, StaffOnly: boolean, Notes: string);
14
19
  }
15
20
  export declare function AllergyEntryData_$reflection(): TypeInfo;
16
21
  export declare class AllergyPropertyValidation extends Record implements IEquatable<AllergyPropertyValidation>, IComparable<AllergyPropertyValidation> {
@@ -41,6 +46,15 @@ export declare function validateAllergyEntry(entry: AllergyEntryData): AllergyPr
41
46
  * Validate a list of allergy entries with consistency checks.
42
47
  */
43
48
  export declare function validateAllergyData(entries: AllergyEntryData[], reportedCount: int32, reportedHasSevere: boolean): AllergyValidationResult;
49
+ export declare const PropertyKeys_AllergyCount: Shared_PluginPropertyKey;
50
+ export declare const PropertyKeys_HasSevereAllergy: Shared_PluginPropertyKey;
51
+ export declare const PropertyKeys_AllergiesJson: Shared_PluginPropertyKey;
52
+ /**
53
+ * Serialize allergy entries to the canonical TS wire format.
54
+ * Returns the output of Convert.fieldValueToTs(FieldValue.PluginData [...]).
55
+ * TypeScript passes this directly to onValueChange — zero ad-hoc construction.
56
+ */
57
+ export declare function serializeAllergiesToCanonical(entries: AllergyEntryData[]): any;
44
58
  /**
45
59
  * Validate plugin data from the wire format.
46
60
  * Takes array (not list) of PluginDataProperty for TS interop.
@@ -1 +1 @@
1
- {"version":3,"file":"AllergyLogic.d.ts","sourceRoot":"","sources":["../../../../FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAwB,WAAW,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EAA+D,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAClI,OAAO,EAAY,KAAK,EAAE,MAAM,sCAAsC,CAAC;AASvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,qBAAa,gBAAiB,SAAQ,MAAO,YAAW,UAAU,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAC/G,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBACjB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;CASvH;AAED,wBAAgB,4BAA4B,IAAI,QAAQ,CAEvD;AAED,qBAAa,yBAA0B,SAAQ,MAAO,YAAW,UAAU,CAAC,yBAAyB,CAAC,EAAE,WAAW,CAAC,yBAAyB,CAAC;IAC1I,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBACb,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAO7F;AAED,wBAAgB,qCAAqC,IAAI,QAAQ,CAEhE;AAED,qBAAa,uBAAwB,SAAQ,MAAO,YAAW,UAAU,CAAC,uBAAuB,CAAC,EAAE,WAAW,CAAC,uBAAuB,CAAC;IACpI,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,yBAAyB,EAAE,CAAC;gBACtC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE;CAOzH;AAED,wBAAgB,mCAAmC,IAAI,QAAQ,CAE9D;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,EAAgD,CAAC;AAErF,eAAO,MAAM,eAAe,EAAE,MAAM,EAAkE,CAAC;AAEvG,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAA4C,CAAC;AAEnF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOlD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,yBAAyB,CAsBvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,GAAG,uBAAuB,CAS1I;AAUD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,yBAAyB,EAAE,GAAG,uBAAuB,CAoC1G"}
1
+ {"version":3,"file":"AllergyLogic.d.ts","sourceRoot":"","sources":["../../../../FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,50 @@
1
- import { FSharpRef, Record } from "@fable-org/fable-library-js/Types.js";
2
- import { uncurry2, stringHash, IComparable, IEquatable } from "@fable-org/fable-library-js/Util.js";
3
- import { int32_type, bool_type, record_type, array_type, string_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
1
+ import { FSharpRef, toString as toString_1, Record } from "@fable-org/fable-library-js/Types.js";
2
+ import { uncurry2, int32ToString, stringHash, IComparable, IEquatable } from "@fable-org/fable-library-js/Util.js";
3
+ import { int32_type, record_type, bool_type, array_type, string_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
4
4
  import { tryParse, int32 } from "@fable-org/fable-library-js/Int32.js";
5
- import { compare, isNullOrWhiteSpace } from "@fable-org/fable-library-js/String.js";
5
+ import { compare, isNullOrEmpty, isNullOrWhiteSpace } from "@fable-org/fable-library-js/String.js";
6
6
  import { tryFind, append as append_1, map, contains } from "@fable-org/fable-library-js/Array.js";
7
7
  import { empty, singleton, append, delay, toArray } from "@fable-org/fable-library-js/Seq.js";
8
- import { fromString, IOptionalGetter, IGetters, array as array_3, IRequiredGetter, string, object } from "../../../Thoth.Json/packages/Thoth.Json/Decode.js";
8
+ import { fromString, IOptionalGetter, IGetters, bool, array as array_3, IRequiredGetter, string, object } from "../../../Thoth.Json/packages/Thoth.Json/Decode.js";
9
9
  import { bind, map as map_1, Option, defaultArgWith, orElse, defaultArg } from "@fable-org/fable-library-js/Option.js";
10
10
  import { FSharpResult$2_$union } from "@fable-org/fable-library-js/Result.js";
11
11
  import { ErrorReason_$union } from "../../../Thoth.Json/packages/Thoth.Json/Types.js";
12
12
  import { newGuid } from "@fable-org/fable-library-js/Guid.js";
13
- import { Shared_PluginDataProperty } from "../../../FormSpec.FS/FormSpec.js";
13
+ import { Shared_FieldValue_PluginData, Shared_PluginDataProperty, Shared_PluginPropertyKey } from "../../../FormSpec.FS/FormSpec.js";
14
+ import { toString, list, nil, object as object_1 } from "../../../Thoth.Json/packages/Thoth.Json/Encode.js";
15
+ import { ofArray } from "@fable-org/fable-library-js/List.js";
16
+ import { Convert_fieldValueToTs } from "../../../FormSpec.FS/Interop/Facade/BlueprintFilledForm.js";
14
17
 
15
18
  export class AllergyEntryData extends Record implements IEquatable<AllergyEntryData>, IComparable<AllergyEntryData> {
16
19
  readonly Id: string;
17
20
  readonly Name: string;
18
21
  readonly SubstanceName: string;
22
+ readonly NdcCode: string;
19
23
  readonly Category: string;
20
24
  readonly Severity: string;
21
25
  readonly Reactions: string[];
22
- constructor(Id: string, Name: string, SubstanceName: string, Category: string, Severity: string, Reactions: string[]) {
26
+ readonly Remedy: string;
27
+ readonly OnsetTiming: string;
28
+ readonly StaffOnly: boolean;
29
+ readonly Notes: string;
30
+ constructor(Id: string, Name: string, SubstanceName: string, NdcCode: string, Category: string, Severity: string, Reactions: string[], Remedy: string, OnsetTiming: string, StaffOnly: boolean, Notes: string) {
23
31
  super();
24
32
  this.Id = Id;
25
33
  this.Name = Name;
26
34
  this.SubstanceName = SubstanceName;
35
+ this.NdcCode = NdcCode;
27
36
  this.Category = Category;
28
37
  this.Severity = Severity;
29
38
  this.Reactions = Reactions;
39
+ this.Remedy = Remedy;
40
+ this.OnsetTiming = OnsetTiming;
41
+ this.StaffOnly = StaffOnly;
42
+ this.Notes = Notes;
30
43
  }
31
44
  }
32
45
 
33
46
  export function AllergyEntryData_$reflection(): TypeInfo {
34
- return record_type("Fable.Form.Simple.Bulma.Fields.AllergyFinderField.AllergyLogic.AllergyEntryData", [], AllergyEntryData, () => [["Id", string_type], ["Name", string_type], ["SubstanceName", string_type], ["Category", string_type], ["Severity", string_type], ["Reactions", array_type(string_type)]]);
47
+ return record_type("Fable.Form.Simple.Bulma.Fields.AllergyFinderField.AllergyLogic.AllergyEntryData", [], AllergyEntryData, () => [["Id", string_type], ["Name", string_type], ["SubstanceName", string_type], ["NdcCode", string_type], ["Category", string_type], ["Severity", string_type], ["Reactions", array_type(string_type)], ["Remedy", string_type], ["OnsetTiming", string_type], ["StaffOnly", bool_type], ["Notes", string_type]]);
35
48
  }
36
49
 
37
50
  export class AllergyPropertyValidation extends Record implements IEquatable<AllergyPropertyValidation>, IComparable<AllergyPropertyValidation> {
@@ -126,13 +139,34 @@ export function validateAllergyData(entries: AllergyEntryData[], reportedCount:
126
139
  return new AllergyValidationResult(isValid, computedHasSevere, entries.length, append_1<AllergyPropertyValidation>(validations, extraValidations));
127
140
  }
128
141
 
129
- const allergyEntryDecoder = (path_14: string): ((arg0: any) => FSharpResult$2_$union<AllergyEntryData, [string, ErrorReason_$union]>) => ((v: any): FSharpResult$2_$union<AllergyEntryData, [string, ErrorReason_$union]> => object<AllergyEntryData>((get$: IGetters): AllergyEntryData => {
130
- let objectArg: IOptionalGetter, objectArg_1: IOptionalGetter, copyOfStruct: string, objectArg_2: IRequiredGetter, objectArg_3: IOptionalGetter, objectArg_4: IOptionalGetter, objectArg_6: IOptionalGetter, objectArg_7: IOptionalGetter, objectArg_8: IOptionalGetter, objectArg_9: IOptionalGetter, objectArg_10: IOptionalGetter, objectArg_11: IOptionalGetter;
142
+ const allergyEntryDecoder = (path_24: string): ((arg0: any) => FSharpResult$2_$union<AllergyEntryData, [string, ErrorReason_$union]>) => ((v: any): FSharpResult$2_$union<AllergyEntryData, [string, ErrorReason_$union]> => object<AllergyEntryData>((get$: IGetters): AllergyEntryData => {
143
+ let objectArg: IOptionalGetter, objectArg_1: IOptionalGetter, copyOfStruct: string, objectArg_2: IRequiredGetter, objectArg_3: IOptionalGetter, objectArg_4: IOptionalGetter, objectArg_6: IOptionalGetter, objectArg_7: IOptionalGetter, objectArg_8: IOptionalGetter, objectArg_9: IOptionalGetter, objectArg_10: IOptionalGetter, objectArg_11: IOptionalGetter, objectArg_12: IOptionalGetter, objectArg_13: IOptionalGetter, objectArg_14: IOptionalGetter, objectArg_15: IOptionalGetter, objectArg_16: IOptionalGetter, objectArg_17: IOptionalGetter, objectArg_18: IOptionalGetter, objectArg_19: IOptionalGetter, objectArg_20: IOptionalGetter, objectArg_21: IOptionalGetter;
131
144
  return new AllergyEntryData(defaultArg(orElse((objectArg = get$.Optional, objectArg.Field<string>("id", string)), (objectArg_1 = get$.Optional, objectArg_1.Field<string>("Id", string))), (copyOfStruct = newGuid(), copyOfStruct)), (objectArg_2 = get$.Required, objectArg_2.Field<string>("Name", string)), defaultArgWith<string>(orElse((objectArg_3 = get$.Optional, objectArg_3.Field<string>("SubstanceName", string)), (objectArg_4 = get$.Optional, objectArg_4.Field<string>("substanceName", string))), (): string => {
132
145
  const objectArg_5: IRequiredGetter = get$.Required;
133
146
  return objectArg_5.Field<string>("Name", string);
134
- }), defaultArg(orElse((objectArg_6 = get$.Optional, objectArg_6.Field<string>("Category", string)), (objectArg_7 = get$.Optional, objectArg_7.Field<string>("category", string))), "drug"), defaultArg(orElse((objectArg_8 = get$.Optional, objectArg_8.Field<string>("Severity", string)), (objectArg_9 = get$.Optional, objectArg_9.Field<string>("severity", string))), "unknown"), defaultArg(orElse((objectArg_10 = get$.Optional, objectArg_10.Field<string[]>("Reactions", (path_11: string, value_14: any): FSharpResult$2_$union<string[], [string, ErrorReason_$union]> => array_3<string>(string, path_11, value_14))), (objectArg_11 = get$.Optional, objectArg_11.Field<string[]>("reactions", (path_13: string, value_16: any): FSharpResult$2_$union<string[], [string, ErrorReason_$union]> => array_3<string>(string, path_13, value_16)))), []));
135
- }, path_14, v));
147
+ }), defaultArg(orElse((objectArg_6 = get$.Optional, objectArg_6.Field<string>("NdcCode", string)), (objectArg_7 = get$.Optional, objectArg_7.Field<string>("ndcCode", string))), ""), defaultArg(orElse((objectArg_8 = get$.Optional, objectArg_8.Field<string>("Category", string)), (objectArg_9 = get$.Optional, objectArg_9.Field<string>("category", string))), "drug"), defaultArg(orElse((objectArg_10 = get$.Optional, objectArg_10.Field<string>("Severity", string)), (objectArg_11 = get$.Optional, objectArg_11.Field<string>("severity", string))), "unknown"), defaultArg(orElse((objectArg_12 = get$.Optional, objectArg_12.Field<string[]>("Reactions", (path_13: string, value_17: any): FSharpResult$2_$union<string[], [string, ErrorReason_$union]> => array_3<string>(string, path_13, value_17))), (objectArg_13 = get$.Optional, objectArg_13.Field<string[]>("reactions", (path_15: string, value_19: any): FSharpResult$2_$union<string[], [string, ErrorReason_$union]> => array_3<string>(string, path_15, value_19)))), []), defaultArg(orElse((objectArg_14 = get$.Optional, objectArg_14.Field<string>("Remedy", string)), (objectArg_15 = get$.Optional, objectArg_15.Field<string>("remedy", string))), ""), defaultArg(orElse((objectArg_16 = get$.Optional, objectArg_16.Field<string>("OnsetTiming", string)), (objectArg_17 = get$.Optional, objectArg_17.Field<string>("onsetTiming", string))), ""), defaultArg(orElse((objectArg_18 = get$.Optional, objectArg_18.Field<boolean>("StaffOnly", bool)), (objectArg_19 = get$.Optional, objectArg_19.Field<boolean>("staffOnly", bool))), false), defaultArg(orElse((objectArg_20 = get$.Optional, objectArg_20.Field<string>("Notes", string)), (objectArg_21 = get$.Optional, objectArg_21.Field<string>("notes", string))), ""));
148
+ }, path_24, v));
149
+
150
+ export const PropertyKeys_AllergyCount: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("af100001-af10-af10-af10-af10af10af10");
151
+
152
+ export const PropertyKeys_HasSevereAllergy: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("af100002-af10-af10-af10-af10af10af10");
153
+
154
+ export const PropertyKeys_AllergiesJson: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("af100003-af10-af10-af10-af10af10af10");
155
+
156
+ function allergyEntryEncoder(a: AllergyEntryData): any {
157
+ return object_1([["Id", a.Id] as [string, any], ["Name", a.Name] as [string, any], ["SubstanceName", a.SubstanceName] as [string, any], ["NdcCode", isNullOrEmpty(a.NdcCode) ? nil : a.NdcCode] as [string, any], ["Category", a.Category] as [string, any], ["Severity", a.Severity] as [string, any], ["Reactions", list(ofArray<any>(map<string, any>((value_6: string): any => value_6, a.Reactions)))] as [string, any], ["Remedy", isNullOrEmpty(a.Remedy) ? nil : a.Remedy] as [string, any], ["OnsetTiming", isNullOrEmpty(a.OnsetTiming) ? nil : a.OnsetTiming] as [string, any], ["StaffOnly", a.StaffOnly] as [string, any], ["Notes", isNullOrEmpty(a.Notes) ? nil : a.Notes] as [string, any]]);
158
+ }
159
+
160
+ /**
161
+ * Serialize allergy entries to the canonical TS wire format.
162
+ * Returns the output of Convert.fieldValueToTs(FieldValue.PluginData [...]).
163
+ * TypeScript passes this directly to onValueChange — zero ad-hoc construction.
164
+ */
165
+ export function serializeAllergiesToCanonical(entries: AllergyEntryData[]): any {
166
+ const hasSevere: boolean = entries.some((e: AllergyEntryData): boolean => isSevere(e.Severity));
167
+ const allergiesJson: string = toString(0, list(ofArray<any>(map<AllergyEntryData, any>(allergyEntryEncoder, entries))));
168
+ return Convert_fieldValueToTs(Shared_FieldValue_PluginData(ofArray([new Shared_PluginDataProperty(PropertyKeys_AllergyCount, "allergy_count", "int", int32ToString(entries.length), "Allergy Count", undefined, undefined), new Shared_PluginDataProperty(PropertyKeys_HasSevereAllergy, "has_severe_allergy", "bool", toString_1(hasSevere).toLowerCase(), "Has Severe Allergy", undefined, undefined), new Shared_PluginDataProperty(PropertyKeys_AllergiesJson, "allergies_json", "string", allergiesJson, "Allergies Data", undefined, undefined)])));
169
+ }
136
170
 
137
171
  /**
138
172
  * Validate plugin data from the wire format.