@f1studio/form-spec 5.0.0-alpha.164 → 5.0.0-alpha.166
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FormSpec.FS/BlueprintValidation.js +1 -1
- package/FormSpec.FS/BlueprintValidation.js.map +1 -1
- package/FormSpec.FS/Designer.js +1 -1
- package/FormSpec.FS/Designer.js.map +1 -1
- package/FormSpec.FS/FormSpec.d.ts +14 -1
- package/FormSpec.FS/FormSpec.d.ts.map +1 -1
- package/FormSpec.FS/FormSpec.js +56 -1
- package/FormSpec.FS/FormSpec.js.map +1 -1
- package/FormSpec.FS/FormSpecHelpers.js +1 -1
- package/FormSpec.FS/FormSpecHelpers.js.map +1 -1
- package/FormSpec.FS/FormSpecValues.js +1 -1
- package/FormSpec.FS/FormSpecValues.js.map +1 -1
- package/FormSpec.FS/Helpers.js +11 -11
- package/FormSpec.FS/Helpers.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.d.ts +13 -3
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.d.ts.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.js +19 -13
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.d.ts +20 -0
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.d.ts.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js +20 -40
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.d.ts +21 -9
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.d.ts.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js +46 -25
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.d.ts +13 -14
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.d.ts.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.js +18 -61
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.d.ts +33 -8
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.d.ts.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js +25 -29
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.d.ts +4 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.d.ts.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js +4 -4
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.js +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.js.map +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js +1 -1
- package/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js.map +1 -1
- package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.d.ts +34 -10
- package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.d.ts.map +1 -1
- package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.js +191 -30
- package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.js.map +1 -1
- package/FormSpec.FS/Interop/Facade/FormItemLookup.d.ts +95 -0
- package/FormSpec.FS/Interop/Facade/FormItemLookup.d.ts.map +1 -0
- package/FormSpec.FS/Interop/Facade/FormItemLookup.js +155 -0
- package/FormSpec.FS/Interop/Facade/FormItemLookup.js.map +1 -0
- package/FormSpec.FS/Interop/FormSpec.Api.Helpers.js +4 -4
- package/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +1 -1
- package/FormSpec.FS/Interop/FormSpec.Api.Option.d.ts +26 -2
- package/FormSpec.FS/Interop/FormSpec.Api.Option.d.ts.map +1 -1
- package/FormSpec.FS/Interop/FormSpec.Api.Option.js +77 -3
- package/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +1 -1
- package/FormSpec.FS/Provenance.d.ts +20 -2
- package/FormSpec.FS/Provenance.d.ts.map +1 -1
- package/FormSpec.FS/Provenance.js +66 -3
- package/FormSpec.FS/Provenance.js.map +1 -1
- package/README.md +7 -7
- package/Thoth.Json/packages/Thoth.Json/Encode.js.map +1 -1
- package/package.json +5 -1
- package/src/FormSpec.FS/BlueprintValidation.ts +1 -1
- package/src/FormSpec.FS/Designer.ts +1 -1
- package/src/FormSpec.FS/FormSpec.ts +32 -2
- package/src/FormSpec.FS/FormSpecHelpers.ts +1 -1
- package/src/FormSpec.FS/FormSpecValues.ts +1 -1
- package/src/FormSpec.FS/Helpers.ts +11 -11
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRAdapter.ts +25 -12
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFieldTypeMapper.ts +41 -41
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.ts +62 -30
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.ts +28 -46
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.ts +52 -27
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.ts +7 -5
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRTriggerEnrichment.ts +1 -1
- package/src/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.ts +1 -1
- package/src/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.ts +154 -42
- package/src/FormSpec.FS/Interop/Facade/FormItemLookup.ts +179 -0
- package/src/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts +4 -4
- package/src/FormSpec.FS/Interop/FormSpec.Api.Option.ts +63 -8
- package/src/FormSpec.FS/Provenance.ts +50 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorEMRFormSpecValidator.d.ts","sourceRoot":"","sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAC7D,OAAO,EAA8C,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC3G,OAAO,EAAuF,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1J,OAAO,
|
|
1
|
+
{"version":3,"file":"CorEMRFormSpecValidator.d.ts","sourceRoot":"","sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get FormSpecValidator_calculateExpectedMaxScore () {
|
|
13
|
-
return FormSpecValidator_calculateExpectedMaxScore;
|
|
14
|
-
},
|
|
15
12
|
get FormSpecValidator_countHeadings () {
|
|
16
13
|
return FormSpecValidator_countHeadings;
|
|
17
14
|
},
|
|
@@ -129,7 +126,7 @@ const _Util = require("@fable-org/fable-library-js/Util.js");
|
|
|
129
126
|
const _CorEMRSectioning = require("./CorEMRSectioning.js");
|
|
130
127
|
const _Map = require("@fable-org/fable-library-js/Map.js");
|
|
131
128
|
const _Seq2 = require("@fable-org/fable-library-js/Seq2.js");
|
|
132
|
-
const
|
|
129
|
+
const _String = require("@fable-org/fable-library-js/String.js");
|
|
133
130
|
const _Seq = require("@fable-org/fable-library-js/Seq.js");
|
|
134
131
|
const _CorEMRElementTypeMap = require("./CorEMRElementTypeMap.js");
|
|
135
132
|
const _Result = require("@fable-org/fable-library-js/Result.js");
|
|
@@ -399,11 +396,11 @@ function ValidationError_$reflection() {
|
|
|
399
396
|
[
|
|
400
397
|
[
|
|
401
398
|
"expected",
|
|
402
|
-
_Reflection.
|
|
399
|
+
_Reflection.string_type
|
|
403
400
|
],
|
|
404
401
|
[
|
|
405
402
|
"actual",
|
|
406
|
-
(0, _Reflection.option_type)(_Reflection.
|
|
403
|
+
(0, _Reflection.option_type)(_Reflection.string_type)
|
|
407
404
|
]
|
|
408
405
|
],
|
|
409
406
|
[
|
|
@@ -577,11 +574,10 @@ function FormSpecValidator_getChoicesPerItem(choices) {
|
|
|
577
574
|
Compare: _Util.comparePrimitives
|
|
578
575
|
});
|
|
579
576
|
}
|
|
580
|
-
function
|
|
581
|
-
return (0, _List.
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
});
|
|
577
|
+
function FormSpecValidator_describeScale(name, bands) {
|
|
578
|
+
return `${name} [${(0, _String.join)(", ", (0, _List.map)((tupledArg)=>`${tupledArg[0]}>=${tupledArg[1]}`, (0, _List.sortBy)((tuple)=>tuple[1], bands, {
|
|
579
|
+
Compare: _Util.comparePrimitives
|
|
580
|
+
})))}]`;
|
|
585
581
|
}
|
|
586
582
|
function FormSpecValidator_validateMetadata(coreMR, formSpec) {
|
|
587
583
|
return (0, _Seq.toList)((0, _Seq.delay)(()=>(0, _Seq.append)(formSpec.Title !== coreMR.FormName ? (0, _Seq.singleton)(ValidationError_MetadataMismatch("title", coreMR.FormName, formSpec.Title)) : (0, _Seq.empty)(), (0, _Seq.delay)(()=>(0, _Seq.append)(formSpec.Version !== (0, _Util.int32ToString)(coreMR.VersionNumber) ? (0, _Seq.singleton)(ValidationError_MetadataMismatch("version", (0, _Util.int32ToString)(coreMR.VersionNumber), formSpec.Version)) : (0, _Seq.empty)(), (0, _Seq.delay)(()=>formSpec.RequiresReview !== coreMR.RequiresSignature ? (0, _Seq.singleton)(ValidationError_MetadataMismatch("requiresReview", (0, _Types.toString)(coreMR.RequiresSignature), (0, _Types.toString)(formSpec.RequiresReview))) : (0, _Seq.empty)()))))));
|
|
@@ -735,22 +731,47 @@ function FormSpecValidator_validateRequiredFields(coreMR, formSpec) {
|
|
|
735
731
|
}
|
|
736
732
|
return (0, _List.ofSeq)(errors);
|
|
737
733
|
}
|
|
738
|
-
function FormSpecValidator_validateScoring(
|
|
739
|
-
const
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
734
|
+
function FormSpecValidator_validateScoring(scoring, formSpec) {
|
|
735
|
+
const statedText = (0, _Option.map)((s)=>FormSpecValidator_describeScale(s.ScoreName, (0, _List.map)((l)=>[
|
|
736
|
+
l.Name,
|
|
737
|
+
l.Min
|
|
738
|
+
], s.Labels)), scoring);
|
|
739
|
+
const carriedText = (0, _Option.map)((sc)=>FormSpecValidator_describeScale(sc.ScaleName, (0, _List.map)((b)=>[
|
|
740
|
+
b.Label,
|
|
741
|
+
b.Min
|
|
742
|
+
], sc.Bands)), formSpec.VendorScore);
|
|
743
|
+
let matchResult, carried_1, stated_1, carried_2, stated_2, carried_3;
|
|
744
|
+
if (statedText != null) {
|
|
745
|
+
if (carriedText != null) {
|
|
746
|
+
if ((0, _Option.value)(statedText) === (0, _Option.value)(carriedText)) {
|
|
747
|
+
matchResult = 1;
|
|
748
|
+
carried_1 = (0, _Option.value)(carriedText);
|
|
749
|
+
stated_1 = (0, _Option.value)(statedText);
|
|
748
750
|
} else {
|
|
749
|
-
|
|
751
|
+
matchResult = 2;
|
|
752
|
+
carried_2 = carriedText;
|
|
753
|
+
stated_2 = (0, _Option.value)(statedText);
|
|
750
754
|
}
|
|
755
|
+
} else {
|
|
756
|
+
matchResult = 2;
|
|
757
|
+
carried_2 = carriedText;
|
|
758
|
+
stated_2 = (0, _Option.value)(statedText);
|
|
751
759
|
}
|
|
760
|
+
} else if (carriedText != null) {
|
|
761
|
+
matchResult = 3;
|
|
762
|
+
carried_3 = (0, _Option.value)(carriedText);
|
|
752
763
|
} else {
|
|
753
|
-
|
|
764
|
+
matchResult = 0;
|
|
765
|
+
}
|
|
766
|
+
switch(matchResult){
|
|
767
|
+
case 0:
|
|
768
|
+
return (0, _List.empty)();
|
|
769
|
+
case 1:
|
|
770
|
+
return (0, _List.empty)();
|
|
771
|
+
case 2:
|
|
772
|
+
return (0, _List.singleton)(ValidationError_ScoreMismatch(stated_2, carried_2));
|
|
773
|
+
default:
|
|
774
|
+
return (0, _List.singleton)(ValidationError_ScoreMismatch("(CoreMR states no scale for this form)", carried_3));
|
|
754
775
|
}
|
|
755
776
|
}
|
|
756
777
|
function FormSpecValidator_validateTags(coreMR, formSpec) {
|
|
@@ -790,9 +811,9 @@ function FormSpecValidator_validatePathways(triggers, pathway) {
|
|
|
790
811
|
return (0, _List.empty)();
|
|
791
812
|
}
|
|
792
813
|
}
|
|
793
|
-
function FormSpecValidator_validateConversion(coreMR, formSpec) {
|
|
814
|
+
function FormSpecValidator_validateConversion(scoring, coreMR, formSpec) {
|
|
794
815
|
try {
|
|
795
|
-
const allErrors = (0, _Seq.toList)((0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateMetadata(coreMR.Metadata, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateCounts(coreMR, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateChoices(coreMR, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateRequiredFields(coreMR, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateScoring(
|
|
816
|
+
const allErrors = (0, _Seq.toList)((0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateMetadata(coreMR.Metadata, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateCounts(coreMR, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateChoices(coreMR, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateRequiredFields(coreMR, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateScoring(scoring, formSpec), (0, _Seq.delay)(()=>(0, _Seq.append)(FormSpecValidator_validateTags(coreMR, formSpec), (0, _Seq.delay)(()=>FormSpecValidator_validatePathways(coreMR.Triggers, formSpec.ClinicalPathway)))))))))))))));
|
|
796
817
|
return (0, _Result.FSharpResult$2_Ok)(new ValidationResult((0, _List.isEmpty)(allErrors), allErrors, (0, _List.empty)(), FormSpecValidator_createSummary(coreMR, formSpec)));
|
|
797
818
|
} catch (ex) {
|
|
798
819
|
return (0, _Result.FSharpResult$2_Error)(`Validation failed: ${ex.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.ts"],"names":["headings","items","s","steps","tupledArg","c","choices","formSpec","coreMR","expectedFields","countNonHeadingItems","actualFields","countTotalFields","expectedSteps","countHeadings","actualSteps","choicesPerItem","getChoicesPerItem","errors","sequenceToFieldKey","f","fieldKeyToItemId","fieldKey","item","itemsById","i","enumerator","field","matchValue","info","itemId","expectedCount","actualCount","itemsByLabel","expectedOptional","
|
|
1
|
+
{"version":3,"sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRFormSpecValidator.ts"],"names":["headings","items","s","steps","tupledArg","c","choices","name","tuple","bands","formSpec","coreMR","expectedFields","countNonHeadingItems","actualFields","countTotalFields","expectedSteps","countHeadings","actualSteps","choicesPerItem","getChoicesPerItem","errors","sequenceToFieldKey","f","fieldKeyToItemId","fieldKey","item","itemsById","i","enumerator","field","matchValue","info","itemId","expectedCount","actualCount","itemsByLabel","expectedOptional","statedText","describeScale","l","scoring","carriedText","sc","b","carried","stated","activeTriggers","t","triggers","pathway","allErrors","validateMetadata","validateCounts","validateChoices","validateRequiredFields","validateScoring","validateTags","validatePathways","createSummary","ex"],"mappings":"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"}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
import { Record } from "@fable-org/fable-library-js/Types.js";
|
|
2
|
-
import { IComparable, IEquatable } from "@fable-org/fable-library-js/Util.js";
|
|
3
|
-
import { TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
|
|
4
|
-
import { int32 } from "@fable-org/fable-library-js/Int32.js";
|
|
5
1
|
import { Spec_FormClassification_$union } from "../../../FormSpec.js";
|
|
2
|
+
import { int32 } from "@fable-org/fable-library-js/Int32.js";
|
|
6
3
|
import { Option } from "@fable-org/fable-library-js/Option.js";
|
|
7
|
-
import { CoreMRFormDetail } from "../../CorEMR/CoreMRTypes.js";
|
|
4
|
+
import { CoreMRFormData, CoreMRFormDetail } from "../../CorEMR/CoreMRTypes.js";
|
|
5
|
+
import { TemplateForm, ElementTypeEntry } from "../../CorEMR/TemplateManifestDecoder.js";
|
|
8
6
|
import { FSharpMap } from "@fable-org/fable-library-js/Map.js";
|
|
9
|
-
import { TemplateForm } from "../../CorEMR/TemplateManifestDecoder.js";
|
|
10
|
-
export declare class BridgeElementTypeInfo extends Record implements IEquatable<BridgeElementTypeInfo>, IComparable<BridgeElementTypeInfo> {
|
|
11
|
-
readonly Code: string;
|
|
12
|
-
readonly ValueEncoding: string;
|
|
13
|
-
readonly TextFieldRole: string;
|
|
14
|
-
constructor(Code: string, ValueEncoding: string, TextFieldRole: string);
|
|
15
|
-
}
|
|
16
|
-
export declare function BridgeElementTypeInfo_$reflection(): TypeInfo;
|
|
17
7
|
/**
|
|
18
8
|
* Map catalog classification fields to the FormClassification DU.
|
|
19
9
|
*
|
|
@@ -32,5 +22,14 @@ export declare function mapFormClassification(formCategory: Option<string>, inst
|
|
|
32
22
|
* When elementTypes is non-empty, use it for ItemTypeName, HasText, HasDate, and bitmask detection.
|
|
33
23
|
* When elementTypes is empty, fallback to CorEMRElementTypeMap.
|
|
34
24
|
*/
|
|
35
|
-
export declare function mapNewTemplateToCoreMRDetail(elementTypes: FSharpMap<
|
|
25
|
+
export declare function mapNewTemplateToCoreMRDetail(elementTypes: FSharpMap<string, ElementTypeEntry>, template: TemplateForm): CoreMRFormDetail;
|
|
26
|
+
/**
|
|
27
|
+
* ⭐ THE ONE `TemplateForm -> CoreMRFormData` PATH. A projection of the single builder above, so
|
|
28
|
+
* Studio and f1-api cannot drift: the same CoreMR form becomes the same record in both.
|
|
29
|
+
*
|
|
30
|
+
* ⚰️ It replaces `TemplateManifestDecoder.toCoreMRFormData`, a SECOND builder that stringified the
|
|
31
|
+
* item type code, hardcoded `HasText`/`HasDate`, dropped every trigger and tag, and never computed a
|
|
32
|
+
* choice's `BitPosition`. Studio used that one and f1-api used this one.
|
|
33
|
+
*/
|
|
34
|
+
export declare function toCoreMRFormData(elementTypes: FSharpMap<string, ElementTypeEntry>, template: TemplateForm): CoreMRFormData;
|
|
36
35
|
//# sourceMappingURL=CorEMRTemplateMapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorEMRTemplateMapper.d.ts","sourceRoot":"","sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"CorEMRTemplateMapper.d.ts","sourceRoot":"","sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAA+K,MAAM,sBAAsB,CAAC;AACnP,OAAO,EAAY,KAAK,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAA0C,MAAM,EAAoB,MAAM,uCAAuC,CAAC;AAGzH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAsH,MAAM,6BAA6B,CAAC;AAEnM,OAAO,EAAE,YAAY,EAAiG,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AACxL,OAAO,EAAE,SAAS,EAAW,MAAM,oCAAoC,CAAC;AAMxE;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,8BAA8B,CAuCrK;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,YAAY,GAAG,gBAAgB,CA4CxI;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,YAAY,GAAG,cAAc,CAG1H"}
|
|
@@ -9,71 +9,29 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get BridgeElementTypeInfo () {
|
|
13
|
-
return BridgeElementTypeInfo;
|
|
14
|
-
},
|
|
15
|
-
get BridgeElementTypeInfo_$reflection () {
|
|
16
|
-
return BridgeElementTypeInfo_$reflection;
|
|
17
|
-
},
|
|
18
12
|
get mapFormClassification () {
|
|
19
13
|
return mapFormClassification;
|
|
20
14
|
},
|
|
21
15
|
get mapNewTemplateToCoreMRDetail () {
|
|
22
16
|
return mapNewTemplateToCoreMRDetail;
|
|
17
|
+
},
|
|
18
|
+
get toCoreMRFormData () {
|
|
19
|
+
return toCoreMRFormData;
|
|
23
20
|
}
|
|
24
21
|
});
|
|
25
|
-
const _Types = require("@fable-org/fable-library-js/Types.js");
|
|
26
|
-
const _Util = require("@fable-org/fable-library-js/Util.js");
|
|
27
|
-
const _Reflection = require("@fable-org/fable-library-js/Reflection.js");
|
|
28
|
-
const _Set = require("@fable-org/fable-library-js/Set.js");
|
|
29
|
-
const _Int32 = require("@fable-org/fable-library-js/Int32.js");
|
|
30
22
|
const _FormSpec = require("../../../FormSpec.js");
|
|
23
|
+
const _Int32 = require("@fable-org/fable-library-js/Int32.js");
|
|
31
24
|
const _Option = require("@fable-org/fable-library-js/Option.js");
|
|
32
25
|
const _String = require("@fable-org/fable-library-js/String.js");
|
|
33
26
|
const _BigInt = require("@fable-org/fable-library-js/BigInt.js");
|
|
34
27
|
const _CoreMRTypes = require("../../CorEMR/CoreMRTypes.js");
|
|
35
28
|
const _List = require("@fable-org/fable-library-js/List.js");
|
|
29
|
+
const _TemplateManifestDecoder = require("../../CorEMR/TemplateManifestDecoder.js");
|
|
36
30
|
const _Map = require("@fable-org/fable-library-js/Map.js");
|
|
37
|
-
const
|
|
31
|
+
const _Util = require("@fable-org/fable-library-js/Util.js");
|
|
32
|
+
const _Set = require("@fable-org/fable-library-js/Set.js");
|
|
38
33
|
const _BitmaskHelpers = require("../../../BitmaskHelpers.js");
|
|
39
|
-
|
|
40
|
-
constructor(Code, ValueEncoding, TextFieldRole){
|
|
41
|
-
super();
|
|
42
|
-
this.Code = Code;
|
|
43
|
-
this.ValueEncoding = ValueEncoding;
|
|
44
|
-
this.TextFieldRole = TextFieldRole;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function BridgeElementTypeInfo_$reflection() {
|
|
48
|
-
return (0, _Reflection.record_type)("FormSpec.Integrations.CorEMR.CorEMRTemplateMapper.BridgeElementTypeInfo", [], BridgeElementTypeInfo, ()=>[
|
|
49
|
-
[
|
|
50
|
-
"Code",
|
|
51
|
-
_Reflection.string_type
|
|
52
|
-
],
|
|
53
|
-
[
|
|
54
|
-
"ValueEncoding",
|
|
55
|
-
_Reflection.string_type
|
|
56
|
-
],
|
|
57
|
-
[
|
|
58
|
-
"TextFieldRole",
|
|
59
|
-
_Reflection.string_type
|
|
60
|
-
]
|
|
61
|
-
]);
|
|
62
|
-
}
|
|
63
|
-
const multiSelectCodes = (0, _Set.ofSeq)([
|
|
64
|
-
"chips_notes",
|
|
65
|
-
"checkbox",
|
|
66
|
-
"checkbox_notes",
|
|
67
|
-
"chips_ros"
|
|
68
|
-
], {
|
|
69
|
-
Compare: _Util.comparePrimitives
|
|
70
|
-
});
|
|
71
|
-
function hasTextHasDateFromBridge(textField) {
|
|
72
|
-
return [
|
|
73
|
-
textField === "content" ? true : textField === "optional_notes",
|
|
74
|
-
textField === "iso_date"
|
|
75
|
-
];
|
|
76
|
-
}
|
|
34
|
+
const _Types = require("@fable-org/fable-library-js/Types.js");
|
|
77
35
|
function mapFormClassification(formCategory, instrumentType, instrumentMaxScore) {
|
|
78
36
|
let matchResult, instType;
|
|
79
37
|
if (formCategory != null) {
|
|
@@ -118,25 +76,20 @@ function mapFormClassification(formCategory, instrumentType, instrumentMaxScore)
|
|
|
118
76
|
function mapNewTemplateToCoreMRDetail(elementTypes, template) {
|
|
119
77
|
const metadata = new _CoreMRTypes.CoreMRFormMetadata(template.FormId, template.Name, (0, _String.isNullOrEmpty)(template.Description) ? undefined : template.Description, ~~(0, _BigInt.toInt32)(template.CurrentVersionId), 1, undefined, template.RequiresSignature, template.IsIntake, template.FormCode, "");
|
|
120
78
|
const items = (0, _List.map)((item)=>{
|
|
121
|
-
let
|
|
79
|
+
let info;
|
|
122
80
|
const itemTypeId = item.Type | 0;
|
|
123
|
-
const value = new
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}), value);
|
|
128
|
-
const patternInput = hasTextHasDateFromBridge(info_1.TextFieldRole);
|
|
129
|
-
return new _CoreMRTypes.CoreMRItem(item.ItemId, item.Sequence, item.NestingLevel, item.SequenceText, item.Type, info_1.Code, !(0, _List.isEmpty)(item.Choices), patternInput[0], patternInput[1], item.Text, item.IsRequired, item.GenderRequired, (0, _Option.map)(_Util.int32ToString, item.Highlight), item.Code, item.Uuid, undefined, undefined, 0, 0, undefined);
|
|
81
|
+
const value = new _TemplateManifestDecoder.ElementTypeEntry(`unresolved item kind ${itemTypeId}`, `unresolved_${itemTypeId}`);
|
|
82
|
+
info = (0, _Option.defaultArg)((0, _Map.tryFind)((0, _Util.int32ToString)(itemTypeId), elementTypes), value);
|
|
83
|
+
const patternInput = (0, _TemplateManifestDecoder.carriesTextOrDate)(info.Control);
|
|
84
|
+
return new _CoreMRTypes.CoreMRItem(item.ItemId, item.Sequence, item.NestingLevel, item.SequenceText, item.Type, info.Control, !(0, _List.isEmpty)(item.Choices), patternInput[0], patternInput[1], item.Text, item.IsRequired, item.GenderRequired, (0, _Option.map)(_Util.int32ToString, item.Highlight), item.Code, item.Uuid, undefined, undefined, 0, 0, undefined);
|
|
130
85
|
}, template.Items);
|
|
131
|
-
const multiSelectTypes = (0,
|
|
86
|
+
const multiSelectTypes = (0, _Set.ofSeq)([
|
|
132
87
|
26,
|
|
133
88
|
40,
|
|
134
89
|
41,
|
|
135
90
|
143
|
|
136
91
|
], {
|
|
137
92
|
Compare: _Util.comparePrimitives
|
|
138
|
-
}) : (0, _Set.ofSeq)((0, _Map.keys)((0, _Map.filter)((_arg, info_2)=>(0, _Set.contains)(info_2.Code, multiSelectCodes), elementTypes)), {
|
|
139
|
-
Compare: _Util.comparePrimitives
|
|
140
93
|
});
|
|
141
94
|
return new _CoreMRTypes.CoreMRFormDetail(metadata, items, (0, _List.collect)((item_1)=>{
|
|
142
95
|
const sortedChoices = (0, _List.sortBy)((c)=>c.Sequence, item_1.Choices, {
|
|
@@ -170,6 +123,10 @@ function mapNewTemplateToCoreMRDetail(elementTypes, template) {
|
|
|
170
123
|
const events = (0, _List.map)((action)=>new _CoreMRTypes.CoreMRTriggerEvent(action.ActionId, trigger.TriggerId, action.ActionType, action.Params), trigger.Actions);
|
|
171
124
|
return new _CoreMRTypes.CoreMRTrigger(trigger.TriggerId, item_2.ItemId, trigger.EventName, triggerOrder + 1, (0, _Option.defaultArg)(trigger.ExclusiveTag, ""), trigger.Enabled, conditions, events);
|
|
172
125
|
}, item_2.Triggers), template.Items), (0, _List.empty)(), undefined);
|
|
126
|
+
}
|
|
127
|
+
function toCoreMRFormData(elementTypes, template) {
|
|
128
|
+
const detail = mapNewTemplateToCoreMRDetail(elementTypes, template);
|
|
129
|
+
return new _CoreMRTypes.CoreMRFormData(detail.Metadata, detail.Items, detail.Choices, detail.Triggers, detail.Tags);
|
|
173
130
|
} //# sourceMappingURL=CorEMRTemplateMapper.ts.map
|
|
174
131
|
|
|
175
132
|
//# sourceMappingURL=CorEMRTemplateMapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateMapper.ts"],"names":["instType","formCategory","instrumentType","instrumentMaxScore","metadata","template","items","info","itemTypeId","item","value","elementTypes","patternInput","multiSelectTypes","sortedChoices","c","bitPositions","choice","index","positions","conditions","cond","trigger","matchValue","outArg","events","action","triggerOrder","detail","mapNewTemplateToCoreMRDetail"],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import { FSharpMap } from "@fable-org/fable-library-js/Map.js";
|
|
|
2
2
|
import { FSharpList } from "@fable-org/fable-library-js/List.js";
|
|
3
3
|
import { int32 } from "@fable-org/fable-library-js/Int32.js";
|
|
4
4
|
import { CoreMRFormData, CoreMRChoice } from "../../CorEMR/CoreMRTypes.js";
|
|
5
|
-
import { Spec_FormSpec$1, Spec_FieldType_$union, Spec_Score } from "../../../FormSpec.js";
|
|
6
5
|
import { Option } from "@fable-org/fable-library-js/Option.js";
|
|
6
|
+
import { Spec_FormSpec$1, Spec_FieldType_$union, Spec_VendorScore } from "../../../FormSpec.js";
|
|
7
|
+
import { FormScoring } from "../../CorEMR/TemplateManifestDecoder.js";
|
|
7
8
|
import { FSharpResult$2_$union } from "@fable-org/fable-library-js/Result.js";
|
|
8
9
|
import { ValidationResult } from "./CorEMRFormSpecValidator.js";
|
|
9
10
|
/**
|
|
@@ -19,9 +20,28 @@ export declare function generateStableDeterministicGuid(name: string): string;
|
|
|
19
20
|
*/
|
|
20
21
|
export declare function createChoiceIdToTextMap(choices: FSharpList<CoreMRChoice>): FSharpMap<int32, string>;
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
+
* ⚰️ `calculateScore` WAS HERE AND IS NOT COMING BACK. It summed every `item_choices.score`
|
|
24
|
+
* in the form — the BITMASK WEIGHT column, which `CoreMRTypes.CoreMRChoice.Score` documents as
|
|
25
|
+
* reaching 2^31 — called the total a clinical maximum, and cut three bands at thirds labelled
|
|
26
|
+
* "Low Risk" / "Medium Risk" / "High Risk". CoreMR states none of that.
|
|
27
|
+
*
|
|
28
|
+
* 🔴 It was not merely noisy. For five of the six forms CoreMR scores, a total the site calls
|
|
29
|
+
* SEVERE fell inside the band this function painted "Low Risk" (GAD-7 severe ≥ 17 against a
|
|
30
|
+
* fabricated Low of 0–37; CIWA severe ≥ 20 against 0–378). ⇒ `AGENTS.md` non-negotiable 3 —
|
|
31
|
+
* *"a score is CoreMR's to state, never ours to compute"* — and non-negotiable 4, a value and
|
|
32
|
+
* its interpretation travel together or neither travels.
|
|
33
|
+
*
|
|
34
|
+
* ⛔ Do not reintroduce a computed maximum "just for a progress bar". `form_scores` is
|
|
35
|
+
* `id · name · form_name · labels · deleted` — there is no max column — and conduit publishes
|
|
36
|
+
* `maxScore: null` for every scored form. A maximum here would be ours, not the site's.
|
|
37
|
+
* Read the stated scale off the catalog row CoreMR published for this form.
|
|
38
|
+
*
|
|
39
|
+
* ⛔ REFUSES rather than degrades. A scale whose bands did not survive (`labels` unparseable,
|
|
40
|
+
* so conduit sent an empty list) yields `None`: a scale's NAME without its bands cannot say
|
|
41
|
+
* what a total means, and carrying half the sentence is how a consumer ends up inventing the
|
|
42
|
+
* cutoff — the exact failure conduit's own `ScoreBand.parse` comment records.
|
|
23
43
|
*/
|
|
24
|
-
export declare function
|
|
44
|
+
export declare function statedScale(scoring: Option<FormScoring>): Option<Spec_VendorScore>;
|
|
25
45
|
/**
|
|
26
46
|
* Extract form code from form name using patterns:
|
|
27
47
|
* 1. If ends with (CODE) - extract CODE
|
|
@@ -30,9 +50,14 @@ export declare function calculateScore(choices: FSharpList<CoreMRChoice>, formNa
|
|
|
30
50
|
*/
|
|
31
51
|
export declare function extractFormCode(formName: string, formId: int32): string;
|
|
32
52
|
/**
|
|
33
|
-
* Convert CoreMR form data to FormSpec
|
|
53
|
+
* Convert CoreMR form data to FormSpec.
|
|
54
|
+
*
|
|
55
|
+
* ⭐ `scoring` is the catalog row's OWN sentence about this form's scale, threaded in rather
|
|
56
|
+
* than derived here. ⛔ It is REQUIRED as a parameter — `None` must be a caller's explicit
|
|
57
|
+
* statement that no catalog row was supplied, never this function's default. Nothing in a
|
|
58
|
+
* form's items or choices can tell you what a total means.
|
|
34
59
|
*/
|
|
35
|
-
export declare function convertToFormSpec(formData: CoreMRFormData): Spec_FormSpec$1<Spec_FieldType_$union>;
|
|
60
|
+
export declare function convertToFormSpec(scoring: Option<FormScoring>, formData: CoreMRFormData): Spec_FormSpec$1<Spec_FieldType_$union>;
|
|
36
61
|
/**
|
|
37
62
|
* Serialize FormSpec to JSON
|
|
38
63
|
* Note: The JSON serialization may have issues with ConditionValue discriminated union.
|
|
@@ -43,13 +68,13 @@ export declare function serializeFormSpec(formSpec: Spec_FormSpec$1<Spec_FieldTy
|
|
|
43
68
|
/**
|
|
44
69
|
* Main conversion function
|
|
45
70
|
*/
|
|
46
|
-
export declare function convertForm(formData: CoreMRFormData): Spec_FormSpec$1<Spec_FieldType_$union>;
|
|
71
|
+
export declare function convertForm(scoring: Option<FormScoring>, formData: CoreMRFormData): Spec_FormSpec$1<Spec_FieldType_$union>;
|
|
47
72
|
/**
|
|
48
73
|
* Convert form with validation
|
|
49
74
|
*/
|
|
50
|
-
export declare function convertFormWithValidation(formData: CoreMRFormData): FSharpResult$2_$union<[Spec_FormSpec$1<Spec_FieldType_$union>, ValidationResult], string>;
|
|
75
|
+
export declare function convertFormWithValidation(scoring: Option<FormScoring>, formData: CoreMRFormData): FSharpResult$2_$union<[Spec_FormSpec$1<Spec_FieldType_$union>, ValidationResult], string>;
|
|
51
76
|
/**
|
|
52
77
|
* Convert form with semantic analysis
|
|
53
78
|
*/
|
|
54
|
-
export declare function convertFormWithSemantics(formData: CoreMRFormData): [Spec_FormSpec$1<Spec_FieldType_$union>, string];
|
|
79
|
+
export declare function convertFormWithSemantics(scoring: Option<FormScoring>, formData: CoreMRFormData): [Spec_FormSpec$1<Spec_FieldType_$union>, string];
|
|
55
80
|
//# sourceMappingURL=CorEMRTemplateToFormSpec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorEMRTemplateToFormSpec.d.ts","sourceRoot":"","sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,SAAS,EAAU,MAAM,oCAAoC,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"CorEMRTemplateToFormSpec.d.ts","sourceRoot":"","sources":["../../../../../FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,SAAS,EAAU,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAmC,UAAU,EAAO,MAAM,qCAAqC,CAAC;AACvG,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAyB,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAElG,OAAO,EAAc,MAAM,EAAQ,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAA2D,eAAe,EAAyI,qBAAqB,EAAmB,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AACvU,OAAO,EAAE,WAAW,EAAgB,MAAM,yCAAyC,CAAC;AAQpF,OAAO,EAAqB,qBAAqB,EAAwB,MAAM,uCAAuC,CAAC;AACvH,OAAO,EAAwC,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGtG;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAInG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAYlF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAmBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAiBhI;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAiB1F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAE1H;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,qBAAqB,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAS3L;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,CAAC,eAAe,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC,CAEjJ"}
|
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get calculateScore () {
|
|
13
|
-
return calculateScore;
|
|
14
|
-
},
|
|
15
12
|
get canonicalizeFieldKey () {
|
|
16
13
|
return canonicalizeFieldKey;
|
|
17
14
|
},
|
|
@@ -38,15 +35,17 @@ _export(exports, {
|
|
|
38
35
|
},
|
|
39
36
|
get serializeFormSpec () {
|
|
40
37
|
return serializeFormSpec;
|
|
38
|
+
},
|
|
39
|
+
get statedScale () {
|
|
40
|
+
return statedScale;
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
43
|
const _Helpers = require("../../../Helpers.js");
|
|
44
44
|
const _Map = require("@fable-org/fable-library-js/Map.js");
|
|
45
45
|
const _List = require("@fable-org/fable-library-js/List.js");
|
|
46
46
|
const _Util = require("@fable-org/fable-library-js/Util.js");
|
|
47
|
-
const _BigInt = require("@fable-org/fable-library-js/BigInt.js");
|
|
48
|
-
const _FormSpec = require("../../../FormSpec.js");
|
|
49
47
|
const _Option = require("@fable-org/fable-library-js/Option.js");
|
|
48
|
+
const _FormSpec = require("../../../FormSpec.js");
|
|
50
49
|
const _String = require("@fable-org/fable-library-js/String.js");
|
|
51
50
|
const _CorEMRStepsBuilder = require("./CorEMRStepsBuilder.js");
|
|
52
51
|
const _Seq2 = require("@fable-org/fable-library-js/Seq2.js");
|
|
@@ -71,20 +70,17 @@ function createChoiceIdToTextMap(choices) {
|
|
|
71
70
|
Compare: _Util.comparePrimitives
|
|
72
71
|
});
|
|
73
72
|
}
|
|
74
|
-
function
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
new _FormSpec.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
} else {
|
|
86
|
-
return undefined;
|
|
87
|
-
}
|
|
73
|
+
function statedScale(scoring) {
|
|
74
|
+
return (0, _Option.bind)((s)=>{
|
|
75
|
+
const bands = (0, _List.sortBy)((b)=>b.Min, (0, _List.map)((l)=>new _FormSpec.Spec_VendorScoreBand(l.Name, l.Min), s.Labels), {
|
|
76
|
+
Compare: _Util.comparePrimitives
|
|
77
|
+
});
|
|
78
|
+
if ((0, _List.isEmpty)(bands)) {
|
|
79
|
+
return undefined;
|
|
80
|
+
} else {
|
|
81
|
+
return new _FormSpec.Spec_VendorScore(s.ScoreName, bands);
|
|
82
|
+
}
|
|
83
|
+
}, scoring);
|
|
88
84
|
}
|
|
89
85
|
function extractFormCode(formName, formId) {
|
|
90
86
|
const trimmed = formName.trim();
|
|
@@ -103,7 +99,7 @@ function extractFormCode(formName, formId) {
|
|
|
103
99
|
return `CORE-${formId}`;
|
|
104
100
|
}
|
|
105
101
|
}
|
|
106
|
-
function convertToFormSpec(formData) {
|
|
102
|
+
function convertToFormSpec(scoring, formData) {
|
|
107
103
|
const formCode = extractFormCode(formData.Metadata.FormName, formData.Metadata.FormId);
|
|
108
104
|
const steps = (0, _CorEMRStepsBuilder.createSteps)(formCode, formData.Items, (0, _Map.ofList)((0, _Seq2.List_groupBy)((c)=>c.ItemId, formData.Choices, {
|
|
109
105
|
Equals: (x, y)=>x === y,
|
|
@@ -111,7 +107,7 @@ function convertToFormSpec(formData) {
|
|
|
111
107
|
}), {
|
|
112
108
|
Compare: _Util.comparePrimitives
|
|
113
109
|
}));
|
|
114
|
-
const
|
|
110
|
+
const vendorScore = statedScale(scoring);
|
|
115
111
|
const fieldKeyBySequence = (0, _Map.ofList)((0, _List.map)((field)=>[
|
|
116
112
|
field.FieldOrder,
|
|
117
113
|
field.FieldKey
|
|
@@ -125,7 +121,7 @@ function convertToFormSpec(formData) {
|
|
|
125
121
|
Compare: _Util.comparePrimitives
|
|
126
122
|
});
|
|
127
123
|
const clinicalPathway = (0, _List.isEmpty)(formData.Triggers) ? undefined : (0, _CorEMRTriggerConverter.convertTriggersToSinglePathway)(formData.Triggers, (itemId)=>(0, _Option.defaultArg)((0, _Map.tryFind)(itemId, itemIdToFieldKeyMap), new _FormSpec.Shared_FieldKey(generateStableDeterministicGuid(`unknown_item_${itemId}`))), createChoiceIdToTextMap(formData.Choices), formData.Metadata, formData.Items);
|
|
128
|
-
return new _FormSpec.Spec_FormSpec$1(generateStableDeterministicGuid(`form_${formData.Metadata.FormId}_${formData.Metadata.FormName}`), formCode, formData.Metadata.FormName, (0, _Option.defaultArg)(formData.Metadata.Description, ""), (0, _String.toText)((0, _String.printf)("1.0.0-CoreEMRv%d"))(formData.Metadata.VersionNumber), "5.0.0", steps, (0, _List.map)((t)=>t.TagName, formData.Tags),
|
|
124
|
+
return new _FormSpec.Spec_FormSpec$1(generateStableDeterministicGuid(`form_${formData.Metadata.FormId}_${formData.Metadata.FormName}`), formCode, formData.Metadata.FormName, (0, _Option.defaultArg)(formData.Metadata.Description, ""), (0, _String.toText)((0, _String.printf)("1.0.0-CoreEMRv%d"))(formData.Metadata.VersionNumber), "5.0.0", steps, (0, _List.map)((t)=>t.TagName, formData.Tags), undefined, vendorScore, (0, _List.empty)(), formData.Metadata.RequiresSignature, false, clinicalPathway, (0, _FormSpec.Spec_FormLifecycle_Blueprint)(), undefined, undefined, undefined, (0, _FormSpec.Spec_FormClassification_General)());
|
|
129
125
|
}
|
|
130
126
|
function serializeFormSpec(formSpec) {
|
|
131
127
|
try {
|
|
@@ -148,13 +144,13 @@ function serializeFormSpec(formSpec) {
|
|
|
148
144
|
return "Legacy JSON export is deprecated. Use MCP Enhancement Server or YAML export instead.";
|
|
149
145
|
}
|
|
150
146
|
}
|
|
151
|
-
function convertForm(formData) {
|
|
152
|
-
return convertToFormSpec(formData);
|
|
147
|
+
function convertForm(scoring, formData) {
|
|
148
|
+
return convertToFormSpec(scoring, formData);
|
|
153
149
|
}
|
|
154
|
-
function convertFormWithValidation(formData) {
|
|
150
|
+
function convertFormWithValidation(scoring, formData) {
|
|
155
151
|
try {
|
|
156
|
-
const formSpec = convertToFormSpec(formData);
|
|
157
|
-
const matchValue = (0, _CorEMRFormSpecValidator.FormSpecValidator_validateConversion)(formData, formSpec);
|
|
152
|
+
const formSpec = convertToFormSpec(scoring, formData);
|
|
153
|
+
const matchValue = (0, _CorEMRFormSpecValidator.FormSpecValidator_validateConversion)(scoring, formData, formSpec);
|
|
158
154
|
return matchValue.tag === /* Error */ 1 ? (0, _Result.FSharpResult$2_Error)(matchValue.fields[0]) : (0, _Result.FSharpResult$2_Ok)([
|
|
159
155
|
formSpec,
|
|
160
156
|
matchValue.fields[0]
|
|
@@ -163,9 +159,9 @@ function convertFormWithValidation(formData) {
|
|
|
163
159
|
return (0, _Result.FSharpResult$2_Error)(`Conversion failed: ${ex.message}`);
|
|
164
160
|
}
|
|
165
161
|
}
|
|
166
|
-
function convertFormWithSemantics(formData) {
|
|
162
|
+
function convertFormWithSemantics(scoring, formData) {
|
|
167
163
|
return [
|
|
168
|
-
convertToFormSpec(formData),
|
|
164
|
+
convertToFormSpec(scoring, formData),
|
|
169
165
|
(0, _CorEMRSemanticReportBuilder.buildReport)(formData)
|
|
170
166
|
];
|
|
171
167
|
} //# sourceMappingURL=CorEMRTemplateToFormSpec.ts.map
|