@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.
- package/FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.js +106 -5
- package/FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.js.map +1 -1
- package/FormSpec.TS/plugins/allergyfinder/src/AllergyLogic.ts.map +1 -1
- package/README.md +7 -7
- package/package.json +1 -1
- package/plugins/allergyfinder/src/AllergyLogic.d.ts +16 -2
- package/plugins/allergyfinder/src/AllergyLogic.d.ts.map +1 -1
- package/src/plugins/allergyfinder/src/AllergyLogic.ts +46 -12
|
@@ -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 = (
|
|
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("
|
|
220
|
-
},
|
|
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","
|
|
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","
|
|
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.
|
|
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.
|
|
67
|
-
pnpm add @f1studio/form-spec@5.0.0-alpha.
|
|
68
|
-
bun add @f1studio/form-spec@5.0.0-alpha.
|
|
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.
|
|
75
|
-
pnpm add @f1studio/form-spec@5.0.0-alpha.
|
|
76
|
-
bun add @f1studio/form-spec@5.0.0-alpha.
|
|
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.
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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 = (
|
|
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>("
|
|
135
|
-
},
|
|
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.
|