sdc-qrf 0.3.30 → 0.3.33

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.
@@ -43,7 +43,9 @@ export declare enum ExtensionIdentifier {
43
43
  StopLabel = "https://beda.software/fhir-emr-questionnaire/slider-stop-label",
44
44
  Macro = "https://beda.software/fhir-emr-questionnaire/macro",
45
45
  RowsNumber = "https://beda.software/fhir-emr-questionnaire/rows-number",
46
- SubQuestionnaire = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire"
46
+ SubQuestionnaire = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire",
47
+ MinOccurs = "http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs",
48
+ MaxOccurs = "http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs"
47
49
  }
48
50
  export type ExtensionTransformer = {
49
51
  [key in ExtensionIdentifier]: {
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExF,oBAAY,mBAAmB;IAC3B,MAAM,iEAAiE;IACvE,WAAW,sEAAsE;IACjF,eAAe,0EAA0E;IACzF,IAAI,+DAA+D;IACnE,UAAU,qEAAqE;IAC/E,iBAAiB,4EAA4E;IAC7F,WAAW,wDAAwD;IACnE,UAAU,kDAAkD;IAC5D,SAAS,+EAA+E;IACxF,KAAK,kDAAkD;IACvD,kBAAkB,wFAAwF;IAC1G,qBAAqB,2FAA2F;IAChH,QAAQ,qDAAqD;IAC7D,QAAQ,qDAAqD;IAC7D,WAAW,iFAAiF;IAC5F,WAAW,iFAAiF;IAC5F,gBAAgB,oDAAoD;IACpE,6BAA6B,gGAAgG;IAC7H,0BAA0B,uEAAuE;IACjG,SAAS,+EAA+E;IACxF,eAAe,mDAAmD;IAClE,QAAQ,qDAAqD;IAC7D,iBAAiB,4EAA4E;IAC7F,qBAAqB,yEAAyE;IAC9F,aAAa,0EAA0E;IAEvF,qBAAqB,2FAA2F;IAChH,cAAc,qEAAqE;IACnF,iBAAiB,uFAAuF;IACxG,YAAY,kFAAkF;IAC9F,oBAAoB,0FAA0F;IAC9G,oBAAoB,0FAA0F;IAC9G,gBAAgB,sFAAsF;IACtG,aAAa,2DAA2D;IACxE,QAAQ,qDAAqD;IAC7D,QAAQ,qDAAqD;IAE7D,iBAAiB,sEAAsE;IACvF,WAAW,8DAA8D;IACzE,UAAU,6DAA6D;IACvE,QAAQ,2DAA2D;IACnE,SAAS,mEAAmE;IAC5E,KAAK,uDAAuD;IAC5D,UAAU,6DAA6D;IACvE,gBAAgB,sFAAsF;CACzG;AAED,MAAM,MAAM,oBAAoB,GAAG;KAC9B,GAAG,IAAI,mBAAmB,GACrB;QACI,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;YAC3F,YAAY,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,aAAa,EAAE,CAAC;SACjE,CAAC;KACL,GACD;QACI,IAAI,EAAE;YACF,SAAS,EAAE,MAAM,aAAa,CAAC;YAC/B,aAAa,EAAE,MAAM,oBAAoB,CAAC;YAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;KACL;CACV,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,oBAsPnC,CAAC"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExF,oBAAY,mBAAmB;IAC3B,MAAM,iEAAiE;IACvE,WAAW,sEAAsE;IACjF,eAAe,0EAA0E;IACzF,IAAI,+DAA+D;IACnE,UAAU,qEAAqE;IAC/E,iBAAiB,4EAA4E;IAC7F,WAAW,wDAAwD;IACnE,UAAU,kDAAkD;IAC5D,SAAS,+EAA+E;IACxF,KAAK,kDAAkD;IACvD,kBAAkB,wFAAwF;IAC1G,qBAAqB,2FAA2F;IAChH,QAAQ,qDAAqD;IAC7D,QAAQ,qDAAqD;IAC7D,WAAW,iFAAiF;IAC5F,WAAW,iFAAiF;IAC5F,gBAAgB,oDAAoD;IACpE,6BAA6B,gGAAgG;IAC7H,0BAA0B,uEAAuE;IACjG,SAAS,+EAA+E;IACxF,eAAe,mDAAmD;IAClE,QAAQ,qDAAqD;IAC7D,iBAAiB,4EAA4E;IAC7F,qBAAqB,yEAAyE;IAC9F,aAAa,0EAA0E;IAEvF,qBAAqB,2FAA2F;IAChH,cAAc,qEAAqE;IACnF,iBAAiB,uFAAuF;IACxG,YAAY,kFAAkF;IAC9F,oBAAoB,0FAA0F;IAC9G,oBAAoB,0FAA0F;IAC9G,gBAAgB,sFAAsF;IACtG,aAAa,2DAA2D;IACxE,QAAQ,qDAAqD;IAC7D,QAAQ,qDAAqD;IAE7D,iBAAiB,sEAAsE;IACvF,WAAW,8DAA8D;IACzE,UAAU,6DAA6D;IACvE,QAAQ,2DAA2D;IACnE,SAAS,mEAAmE;IAC5E,KAAK,uDAAuD;IAC5D,UAAU,6DAA6D;IACvE,gBAAgB,sFAAsF;IACtG,SAAS,oEAAoE;IAC7E,SAAS,oEAAoE;CAChF;AAED,MAAM,MAAM,oBAAoB,GAAG;KAC9B,GAAG,IAAI,mBAAmB,GACrB;QACI,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;YAC3F,YAAY,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,aAAa,EAAE,CAAC;SACjE,CAAC;KACL,GACD;QACI,IAAI,EAAE;YACF,SAAS,EAAE,MAAM,aAAa,CAAC;YAC/B,aAAa,EAAE,MAAM,oBAAoB,CAAC;YAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;KACL;CACV,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,oBA2PnC,CAAC"}
@@ -46,6 +46,8 @@ var ExtensionIdentifier;
46
46
  ExtensionIdentifier["Macro"] = "https://beda.software/fhir-emr-questionnaire/macro";
47
47
  ExtensionIdentifier["RowsNumber"] = "https://beda.software/fhir-emr-questionnaire/rows-number";
48
48
  ExtensionIdentifier["SubQuestionnaire"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire";
49
+ ExtensionIdentifier["MinOccurs"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs";
50
+ ExtensionIdentifier["MaxOccurs"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs";
49
51
  })(ExtensionIdentifier || (exports.ExtensionIdentifier = ExtensionIdentifier = {}));
50
52
  exports.extensionTransformers = {
51
53
  [ExtensionIdentifier.Hidden]: {
@@ -162,6 +164,12 @@ exports.extensionTransformers = {
162
164
  [ExtensionIdentifier.ChoiceColumns]: {
163
165
  path: { extension: 'valueInteger', questionnaire: 'choiceColumns' },
164
166
  },
167
+ [ExtensionIdentifier.MinOccurs]: {
168
+ path: { extension: 'valueInteger', questionnaire: 'minOccurs' },
169
+ },
170
+ [ExtensionIdentifier.MaxOccurs]: {
171
+ path: { extension: 'valueInteger', questionnaire: 'maxOccurs' },
172
+ },
165
173
  [ExtensionIdentifier.ItemPopulationContext]: {
166
174
  path: { extension: 'valueExpression', questionnaire: 'itemPopulationContext' },
167
175
  },
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":";;;AAIA,IAAY,mBAgDX;AAhDD,WAAY,mBAAmB;IAC3B,8FAAuE,CAAA;IACvE,wGAAiF,CAAA;IACjF,gHAAyF,CAAA;IACzF,0FAAmE,CAAA;IACnE,sGAA+E,CAAA;IAC/E,oHAA6F,CAAA;IAC7F,0FAAmE,CAAA;IACnE,mFAA4D,CAAA;IAC5D,+GAAwF,CAAA;IACxF,8EAAuD,CAAA;IACvD,iIAA0G,CAAA;IAC1G,uIAAgH,CAAA;IAChH,oFAA6D,CAAA;IAC7D,oFAA6D,CAAA;IAC7D,mHAA4F,CAAA;IAC5F,mHAA4F,CAAA;IAC5F,2FAAoE,CAAA;IACpE,oJAA6H,CAAA;IAC7H,wHAAiG,CAAA;IACjG,+GAAwF,CAAA;IACxF,yFAAkE,CAAA;IAClE,oFAA6D,CAAA;IAC7D,oHAA6F,CAAA;IAC7F,qHAA8F,CAAA;IAC9F,8GAAuF,CAAA;IAEvF,uIAAgH,CAAA;IAChH,0GAAmF,CAAA;IACnF,+HAAwG,CAAA;IACxG,qHAA8F,CAAA;IAC9F,qIAA8G,CAAA;IAC9G,qIAA8G,CAAA;IAC9G,6HAAsG,CAAA;IACtG,+FAAwE,CAAA;IACxE,oFAA6D,CAAA;IAC7D,oFAA6D,CAAA;IAE7D,8GAAuF,CAAA;IACvF,gGAAyE,CAAA;IACzE,8FAAuE,CAAA;IACvE,0FAAmE,CAAA;IACnE,mGAA4E,CAAA;IAC5E,mFAA4D,CAAA;IAC5D,8FAAuE,CAAA;IACvE,6HAAsG,CAAA;IACtG,oGAA6E,CAAA;IAC7E,oGAA6E,CAAA;AACjF,CAAC,EAhDW,mBAAmB,mCAAnB,mBAAmB,QAgD9B;AAmBY,QAAA,qBAAqB,GAAyB;IACvD,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE;KAC/D;IACD,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;QAC/B,IAAI,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,aAAa,EAAE;KAC5E;IACD,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE;QACnC,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE;KACxE;IACD,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;QAC/B,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE;KACnE;IACD,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;QACxB,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE;KAC5D;IACD,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;QAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE;KACtF;IACD,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;QAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE;KACnE;IACD,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACpC,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE;KAC3E;IACD,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE;QACrC,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE;gBAC3B,IAAI,UAAU,CAAC,CAAC,CAAE,CAAC,SAAS,EAAE,CAAC;oBAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC;YACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACnB,IAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,EAAE,CAAC;oBACjC,OAAO;wBACH;4BACI,GAAG,EAAE,mBAAmB,CAAC,iBAAiB;4BAC1C,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;yBACvC;qBACJ,CAAC;gBACN,CAAC;gBAED,OAAO,EAAE,CAAC;YACd,CAAC;SACJ;KACJ;IACD,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;QAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE;KACnE;IACD,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE;KACrE;IACD,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;QACzB,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE;KAC7D;IACD,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE;QACtC,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE;KAC3E;IACD,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAAE;QACzC,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,uBAAuB,EAAE;KAC/E;IACD,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QAC5B,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC;YAC9D,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;KACJ;IACD,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QAC5B,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC;YAC9D,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;KACJ;IACD,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;QAC/B,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC;YACjE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE;KACJ;IACD,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;QAC/B,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC;YACjE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE;KACJ;IACD,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACpC,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE;KACzE;IACD,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,EAAE;QACjD,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,4BAA4B,EAAE;KAC/E;IACD,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,EAAE;QAC9C,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,4BAA4B,EAAE;KAC/E;IACD,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE;KACjE;IACD,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE;QACnC,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE;KAC3E;IACD,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QAC5B,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE;KAChE;IACD,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE;QACrC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE;KACvE;IACD,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAAE;QACzC,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE;KACzE;IACD,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE;QACjC,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE;KACtE;IACD,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE;KAClE;IACD,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE;KAClE;IACD,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAAE;QACzC,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,uBAAuB,EAAE;KACjF;IACD,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE;QAClC,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE;gBAC3B,OAAO;oBACH,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;;wBACzC,MAAM,uBAAuB,GAAG,SAAS,CAAC,SAAU,CAAC;wBAErD,OAAO;4BACH,GAAG,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,CAAE,CAAC,OAAQ;4BACvE,YAAY,EAAE,MAAA,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,cAAc,CAAC,0CACzE,WAAW;4BACjB,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,UAAU,CAAE,CAAC,SAAU;4BACnF,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,CAAE,CAAC,WAAY;4BAC/E,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,YAAY,CAAE,CAAC,WAAY;yBAC5F,CAAC;oBACN,CAAC,CAAC;iBACL,CAAC;YACN,CAAC;YACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;wBAChD,GAAG,EAAE,mBAAmB,CAAC,cAAc;wBACvC,SAAS,EAAE;4BACP;gCACI,GAAG,EAAE,KAAK;gCACV,OAAO,EAAE,cAAc,CAAC,GAAG;6BAC9B;4BACD;gCACI,GAAG,EAAE,cAAc;gCACnB,WAAW,EAAE,cAAc,CAAC,YAAY;6BAC3C;4BACD;gCACI,GAAG,EAAE,UAAU;gCACf,SAAS,EAAE,cAAc,CAAC,QAAQ;6BACrC;4BACD;gCACI,GAAG,EAAE,OAAO;gCACZ,WAAW,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK;6BACrC;4BACD;gCACI,GAAG,EAAE,YAAY;gCACjB,WAAW,EAAE,cAAc,CAAC,UAAU;6BACzC;yBACJ;qBACJ,CAAC,CAAC,CAAC;gBACR,CAAC;gBAED,OAAO,EAAE,CAAC;YACd,CAAC;SACJ;KACJ;IACD,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QAC5B,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;KACxF;IACD,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QAC5B,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;KAClF;IACD,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE;QACrC,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE;KAC7E;IACD,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE;QACxC,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE;KAChF;IACD,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE;QACxC,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE;KAChF;IACD,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACpC,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE;KAC5E;IACD,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE;QAChC,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE;gBAC3B,OAAO;oBACH,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;;wBACvC,MAAM,qBAAqB,GAAG,SAAS,CAAC,SAAU,CAAC;wBAEnD,OAAO;4BACH,UAAU,EACN,MAAA,MAAA,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,YAAY,CAAC,0CAAE,YAAY,mCAAI,KAAK;4BACxF,IAAI,EAAE,MAAA,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,0CAAE,WAAW;yBAC7E,CAAC;oBACN,CAAC,CAAC;iBACL,CAAC;YACN,CAAC;YACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;wBAC5C,GAAG,EAAE,mBAAmB,CAAC,YAAY;wBACrC,SAAS,EAAE;4BACP;gCACI,GAAG,EAAE,YAAY;gCACjB,YAAY,EAAE,YAAY,CAAC,UAAU;6BACxC;4BACD;gCACI,GAAG,EAAE,MAAM;gCACX,WAAW,EAAE,YAAY,CAAC,IAAI;6BACjC;yBACJ;qBACJ,CAAC,CAAC,CAAC;gBACR,CAAC;gBAED,OAAO,EAAE,CAAC;YACd,CAAC;SACJ;KACJ;IACD,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE;QACjC,+FAA+F;QAC/F,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE;KACzE;IAED,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE;QACrC,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE;KAC1E;IACD,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;QAC/B,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE;KAC9D;IACD,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;QAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE;KAC7D;IACD,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QAC5B,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE;KAChE;IACD,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE;KACjE;IACD,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;QACzB,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE;KAC7D;CACJ,CAAC"}
@@ -10,41 +10,52 @@ function processItems(fhirQuestionnaire, extensionsOnly) {
10
10
  return (_a = fhirQuestionnaire.item) === null || _a === void 0 ? void 0 : _a.map((item) => convertItemProperties(item, extensionsOnly));
11
11
  }
12
12
  function convertItemProperties(item, extensionsOnly) {
13
- var _a;
14
- const updatedProperties = getUpdatedPropertiesFromItem(item, extensionsOnly);
15
- const newItem = Object.assign(Object.assign({}, item), updatedProperties);
16
- newItem.item = (_a = item.item) === null || _a === void 0 ? void 0 : _a.map((nestedItem) => convertItemProperties(nestedItem, extensionsOnly));
17
- if (newItem.extension) {
18
- delete newItem.extension;
13
+ const newItem = getUpdatedPropertiesFromItem(item, extensionsOnly);
14
+ if (item.item) {
15
+ newItem.item = item.item.map((nestedItem) => convertItemProperties(nestedItem, extensionsOnly));
19
16
  }
20
17
  return newItem;
21
18
  }
22
19
  function getUpdatedPropertiesFromItem(item, extensionsOnly) {
23
- var _a, _b, _c, _d;
24
- let updatedProperties = { linkId: item.linkId, type: item.type };
25
- for (const identifier of Object.values(extensions_1.ExtensionIdentifier)) {
26
- for (const property of Object.keys(item)) {
27
- const element = item[property];
28
- if (property.startsWith('_') && element instanceof Object) {
29
- const primitiveExtensions = (_a = element === null || element === void 0 ? void 0 : element.extension) !== null && _a !== void 0 ? _a : [];
30
- for (const extension of primitiveExtensions) {
31
- if (extension.url === identifier) {
32
- updatedProperties = Object.assign(Object.assign({}, updatedProperties), { [property]: (0, converter_1.convertFromFHIRExtension)([extension]) });
33
- }
34
- }
35
- }
36
- }
37
- const extensions = (0, converter_1.filterExtensions)(item, identifier);
38
- if (extensions === null || extensions === void 0 ? void 0 : extensions.length) {
39
- updatedProperties = Object.assign(Object.assign({}, updatedProperties), (0, converter_1.convertFromFHIRExtension)(extensions));
20
+ var _a, _b, _c;
21
+ let newItem = Object.assign({}, item);
22
+ // Primitive extensions
23
+ for (const property of Object.keys(item)) {
24
+ const element = item[property];
25
+ if (property.startsWith('_') && element instanceof Object && !Array.isArray(element)) {
26
+ newItem = Object.assign(Object.assign({}, newItem), {
27
+ [property]: processExtensibleElement(element),
28
+ });
40
29
  }
41
30
  }
42
31
  if (!extensionsOnly) {
43
- updatedProperties.answerOption = (_b = item.answerOption) === null || _b === void 0 ? void 0 : _b.map(processItemOption);
44
- updatedProperties.initial = (_c = item.initial) === null || _c === void 0 ? void 0 : _c.map(processItemOption);
45
- updatedProperties.enableWhen = (_d = item.enableWhen) === null || _d === void 0 ? void 0 : _d.map(processEnableWhenItem);
32
+ newItem.answerOption = (_a = item.answerOption) === null || _a === void 0 ? void 0 : _a.map(processItemOption);
33
+ newItem.initial = (_b = item.initial) === null || _b === void 0 ? void 0 : _b.map(processItemOption);
34
+ newItem.enableWhen = (_c = item.enableWhen) === null || _c === void 0 ? void 0 : _c.map(processEnableWhenItem);
35
+ }
36
+ return processExtensibleElement(newItem);
37
+ }
38
+ function processExtensibleElement(element) {
39
+ var _a;
40
+ let newElement = Object.assign({}, element);
41
+ const knownExtensionUrls = Object.values(extensions_1.ExtensionIdentifier);
42
+ const allExtensions = (_a = element.extension) !== null && _a !== void 0 ? _a : [];
43
+ const knownExtensions = allExtensions.filter((ext) => knownExtensionUrls.includes(ext.url));
44
+ const unknownExtensions = allExtensions.filter((ext) => !knownExtensionUrls.includes(ext.url));
45
+ if (knownExtensions.length) {
46
+ const uniqueExtensionUrls = new Set(knownExtensions.map((ext) => ext.url));
47
+ for (const extensionUrl of uniqueExtensionUrls) {
48
+ const extensions = knownExtensions.filter((ext) => ext.url === extensionUrl);
49
+ newElement = Object.assign(Object.assign({}, newElement), (0, converter_1.convertFromFHIRExtension)(extensions));
50
+ }
51
+ }
52
+ if (unknownExtensions.length) {
53
+ newElement.extension = unknownExtensions;
54
+ }
55
+ else {
56
+ delete newElement.extension;
46
57
  }
47
- return updatedProperties;
58
+ return newElement;
48
59
  }
49
60
  function processEnableWhenItem(item) {
50
61
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"processItems.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processItems.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processItems.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processItems.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Reference as FHIRReference, Extension as FHIRExtension, QuestionnaireItem as FHIRQuestionnaireItem } from 'fhir/r4b';
1
+ import { Reference as FHIRReference, Extension as FHIRExtension } from 'fhir/r4b';
2
2
  import { Extension as FCEExtension, QuestionnaireItem as FCEQuestionnaireItem, InternalReference } from '@beda.software/aidbox-types';
3
3
  import { fromFirstClassExtension, fromFirstClassExtensionV2 } from './fceToFhir';
4
4
  import { toFirstClassExtension, toFirstClassExtensionV2 } from './fhirToFce';
@@ -7,7 +7,6 @@ export * from './utils';
7
7
  export declare function convertFromFHIRExtension(extensions: FHIRExtension[]): Partial<FCEQuestionnaireItem> | undefined;
8
8
  export declare function convertToFHIRExtension(item: FCEQuestionnaireItem): FHIRExtension[];
9
9
  export declare function extractExtension(extension: FCEExtension[] | undefined, url: 'ex:createdAt'): string | undefined;
10
- export declare function filterExtensions(item: FHIRQuestionnaireItem, url: string): FHIRExtension[] | undefined;
11
10
  export declare function fromFHIRReference(r?: FHIRReference): InternalReference | undefined;
12
11
  export declare function toFHIRReference(r?: InternalReference | FHIRReference): FHIRReference | undefined;
13
12
  export { toFirstClassExtension, toFirstClassExtensionV2, fromFirstClassExtension, fromFirstClassExtensionV2, processLaunchContextToFce, };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,IAAI,aAAa,EAC1B,SAAS,IAAI,aAAa,EAC1B,iBAAiB,IAAI,qBAAqB,EAC7C,MAAM,UAAU,CAAC;AAElB,OAAO,EACH,SAAS,IAAI,YAAY,EACzB,iBAAiB,IAAI,oBAAoB,EACzC,iBAAiB,EACpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,oBAAoB,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAChH,cAAc,SAAS,CAAC;AAExB,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAc/G;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,EAAE,CAqBlF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,cAAc,sBAE1F;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,+BAExE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS,CA4BlF;AAED,wBAAgB,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAgBhG;AAED,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAElF,OAAO,EACH,SAAS,IAAI,YAAY,EACzB,iBAAiB,IAAI,oBAAoB,EACzC,iBAAiB,EACpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,oBAAoB,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAChH,cAAc,SAAS,CAAC;AAExB,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAc/G;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,EAAE,CAuBlF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,cAAc,sBAE1F;AAED,wBAAgB,iBAAiB,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS,CA4BlF;AAED,wBAAgB,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAgBhG;AAED,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC5B,CAAC"}
@@ -4,7 +4,6 @@ exports.processLaunchContextToFce = exports.fromFirstClassExtensionV2 = exports.
4
4
  exports.convertFromFHIRExtension = convertFromFHIRExtension;
5
5
  exports.convertToFHIRExtension = convertToFHIRExtension;
6
6
  exports.extractExtension = extractExtension;
7
- exports.filterExtensions = filterExtensions;
8
7
  exports.fromFHIRReference = fromFHIRReference;
9
8
  exports.toFHIRReference = toFHIRReference;
10
9
  const tslib_1 = require("tslib");
@@ -35,7 +34,8 @@ function convertFromFHIRExtension(extensions) {
35
34
  }
36
35
  }
37
36
  function convertToFHIRExtension(item) {
38
- const extensions = [];
37
+ var _a;
38
+ const extensions = [...((_a = item.extension) !== null && _a !== void 0 ? _a : [])];
39
39
  Object.values(extensions_1.ExtensionIdentifier).forEach((identifier) => {
40
40
  const transformer = extensions_1.extensionTransformers[identifier];
41
41
  if ('transform' in transformer) {
@@ -58,10 +58,6 @@ function extractExtension(extension, url) {
58
58
  var _a;
59
59
  return (_a = extension === null || extension === void 0 ? void 0 : extension.find((e) => e.url === url)) === null || _a === void 0 ? void 0 : _a.valueInstant;
60
60
  }
61
- function filterExtensions(item, url) {
62
- var _a;
63
- return (_a = item.extension) === null || _a === void 0 ? void 0 : _a.filter((ext) => ext.url === url);
64
- }
65
61
  function fromFHIRReference(r) {
66
62
  if (!r || !r.reference) {
67
63
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sdc-qrf",
3
3
  "license": "MIT",
4
- "version": "0.3.30",
4
+ "version": "0.3.33",
5
5
  "scripts": {
6
6
  "test": "vitest --watch=false",
7
7
  "test:watch": "vitest --watch",
@@ -35,6 +35,9 @@ import fce_vitals from './resources/questionnaire_fce/vitals.json';
35
35
  import fce_variable from './resources/questionnaire_fce/variable.json';
36
36
  import fce_sub_questionnaire from './resources/questionnaire_fce/sub-questionnaire.json';
37
37
  import fce_with_attachment_questionnaire from './resources/questionnaire_fce/with-attachment-question.json';
38
+ import fce_mixed_fce_with_extensions from './resources/questionnaire_fce/mixed-fce-with-extensions.json';
39
+ import fce_unknown_extensions from './resources/questionnaire_fce/unknown-extensions.json';
40
+ import fce_occurs from './resources/questionnaire_fce/occurs.json';
38
41
  // fhir questionnaire
39
42
  import fhir_allergies from './resources/questionnaire_fhir/allergies.json';
40
43
  import fhir_beverages from './resources/questionnaire_fhir/beverages.json';
@@ -64,6 +67,9 @@ import fhir_vitals from './resources/questionnaire_fhir/vitals.json';
64
67
  import fhir_variable from './resources/questionnaire_fhir/variable.json';
65
68
  import fhir_sub_questionnaire from './resources/questionnaire_fhir/sub-questionnaire.json';
66
69
  import fhir_with_attachment_questionnaire from './resources/questionnaire_fhir/with-attachment-question.json';
70
+ import fhir_mixed_fce_with_extensions from './resources/questionnaire_fhir/mixed-fce-with-extensions.json';
71
+ import fhir_unknown_extensions from './resources/questionnaire_fhir/unknown-extensions.json';
72
+ import fhir_occurs from './resources/questionnaire_fhir/occurs.json';
67
73
  // fce questionnaire response
68
74
  import fce_allergies_inprogress_qr from './resources/questionnaire_response_fce/allergies_inprogress.json';
69
75
  import fce_cardiology_qr from './resources/questionnaire_response_fce/cardiology.json';
@@ -94,73 +100,89 @@ import fhir_practitioner_qr from './resources/questionnaire_response_fhir/practi
94
100
  import fhir_reference_answer_with_assoc from './resources/questionnaire_response_fhir/reference_answer_with_assoc.json';
95
101
  import fhir_review_of_systems_qr from './resources/questionnaire_response_fhir/review_of_systems.json';
96
102
  import fhir_vitals_qr from './resources/questionnaire_response_fhir/vitals.json';
103
+
97
104
  import { toFirstClassExtension, fromFirstClassExtension } from '../../converter';
98
105
  import { sortExtensionsList } from '../utils';
99
106
 
100
107
  describe('Questionanire and QuestionnaireResponses transformation', () => {
101
108
  test.each([
102
- [fhir_allergies, fce_allergies],
103
- [fhir_beverages, fce_beverages],
104
- [fhir_choice_answer_option, fce_choice_answer_option],
105
- [fhir_encounter_create, fce_encounter_create],
106
- [fhir_gad_7, fce_gad_7],
107
- [fhir_immunization, fce_immunization],
108
- [fhir_medication, fce_medication],
109
- [fhir_multiple_type_launch_context, fce_multiple_type_launch_context],
110
- [fhir_patient_create, fce_patient_create],
111
- [fhir_patient_edit, fce_patient_edit],
112
- [fhir_phq_2_phq_9, fce_phq_2_phq_9],
113
- [fhir_physicalexam, fce_physicalexam],
114
- [fhir_practitioner_create, fce_practitioner_create],
115
- [fhir_practitioner_edit, fce_practitioner_edit],
116
- [fhir_practitioner_role_create, fce_practitioner_role_create],
117
- [fhir_public_appointment, fce_public_appointment],
118
- [fhir_review_of_systems, fce_review_of_systems],
119
- [fhir_source_queries, fce_source_queries],
120
- [fhir_vitals, fce_vitals],
121
- [fhir_practitioner_create_structure_map, fce_practitioner_create_structure_map],
122
- [fhir_consent, fce_consent],
123
- [fhir_enable_when, fce_enable_when],
124
- [fhir_cqf_examples, fce_cqf_examples],
125
- [fhir_constraint, fce_constraint],
126
- [fhir_unit_option, fce_unit_option],
127
- [fhir_variable, fce_variable],
128
- [fhir_sub_questionnaire, fce_sub_questionnaire],
129
- [fhir_with_attachment_questionnaire, fce_with_attachment_questionnaire],
130
- ])('Each FHIR Questionnaire should convert to FCE', async (fhir_questionnaire, fce_questionnaire) => {
109
+ ['allergies', fhir_allergies, fce_allergies],
110
+ ['beverages', fhir_beverages, fce_beverages],
111
+ ['choice-answer-option', fhir_choice_answer_option, fce_choice_answer_option],
112
+ ['encounter-create', fhir_encounter_create, fce_encounter_create],
113
+ ['gad-7', fhir_gad_7, fce_gad_7],
114
+ ['immunization', fhir_immunization, fce_immunization],
115
+ ['medication', fhir_medication, fce_medication],
116
+ ['multiple-type-launch-context', fhir_multiple_type_launch_context, fce_multiple_type_launch_context],
117
+ ['patient-create', fhir_patient_create, fce_patient_create],
118
+ ['patient-edit', fhir_patient_edit, fce_patient_edit],
119
+ ['phq-2-phq-9', fhir_phq_2_phq_9, fce_phq_2_phq_9],
120
+ ['physicalexam', fhir_physicalexam, fce_physicalexam],
121
+ ['practitioner-create', fhir_practitioner_create, fce_practitioner_create],
122
+ ['practitioner-edit', fhir_practitioner_edit, fce_practitioner_edit],
123
+ ['practitioner-role-create', fhir_practitioner_role_create, fce_practitioner_role_create],
124
+ ['public-appointment', fhir_public_appointment, fce_public_appointment],
125
+ ['review-of-systems', fhir_review_of_systems, fce_review_of_systems],
126
+ ['source-queries', fhir_source_queries, fce_source_queries],
127
+ ['vitals', fhir_vitals, fce_vitals],
128
+ [
129
+ 'practitioner-create-structure-map',
130
+ fhir_practitioner_create_structure_map,
131
+ fce_practitioner_create_structure_map,
132
+ ],
133
+ ['consent', fhir_consent, fce_consent],
134
+ ['enable-when', fhir_enable_when, fce_enable_when],
135
+ ['cqf-examples', fhir_cqf_examples, fce_cqf_examples],
136
+ ['constraint', fhir_constraint, fce_constraint],
137
+ ['unit-option', fhir_unit_option, fce_unit_option],
138
+ ['variable', fhir_variable, fce_variable],
139
+ ['sub-questionnaire', fhir_sub_questionnaire, fce_sub_questionnaire],
140
+ ['with-attachment-questionnaire', fhir_with_attachment_questionnaire, fce_with_attachment_questionnaire],
141
+ // NOTE: this following is not included here because it's example of mixed FCE + extensions, it is only for FCE -> FHIR
142
+ // ['mixed-fce-with-extensions', fhir_mixed_fce_with_extensions, fce_mixed_fce_with_extensions],
143
+ ['unknown-extensions', fhir_unknown_extensions, fce_unknown_extensions],
144
+ ['occurs', fhir_occurs, fce_occurs],
145
+ ])('Each FHIR Questionnaire should convert to FCE %s', async (_, fhir_questionnaire, fce_questionnaire) => {
131
146
  expect(toFirstClassExtension(fhir_questionnaire as FHIRQuestionnaire)).toStrictEqual(fce_questionnaire);
132
147
  });
133
148
 
134
149
  test.each([
135
- [fce_allergies, fhir_allergies],
136
- [fce_beverages, fhir_beverages],
137
- [fce_choice_answer_option, fhir_choice_answer_option],
138
- [fce_encounter_create, fhir_encounter_create],
139
- [fce_gad_7, fhir_gad_7],
140
- [fce_immunization, fhir_immunization],
141
- [fce_medication, fhir_medication],
142
- [fce_multiple_type_launch_context, fhir_multiple_type_launch_context],
143
- [fce_patient_create, fhir_patient_create],
144
- [fce_patient_edit, fhir_patient_edit],
145
- [fce_phq_2_phq_9, fhir_phq_2_phq_9],
146
- [fce_physicalexam, fhir_physicalexam],
147
- [fce_practitioner_create, fhir_practitioner_create],
148
- [fce_practitioner_edit, fhir_practitioner_edit],
149
- [fce_practitioner_role_create, fhir_practitioner_role_create],
150
- [fce_public_appointment, fhir_public_appointment],
151
- [fce_review_of_systems, fhir_review_of_systems],
152
- [fce_source_queries, fhir_source_queries],
153
- [fce_vitals, fhir_vitals],
154
- [fce_practitioner_create_structure_map, fhir_practitioner_create_structure_map],
155
- [fce_consent, fhir_consent],
156
- [fce_enable_when, fhir_enable_when],
157
- [fce_cqf_examples, fhir_cqf_examples],
158
- [fce_constraint, fhir_constraint],
159
- [fce_unit_option, fhir_unit_option],
160
- [fce_variable, fhir_variable],
161
- [fce_sub_questionnaire, fhir_sub_questionnaire],
162
- [fce_with_attachment_questionnaire, fhir_with_attachment_questionnaire],
163
- ])('Each FCE Questionnaire should convert to FHIR', async (fce_questionnaire, fhir_questionnaire) => {
150
+ ['allergies', fce_allergies, fhir_allergies],
151
+ ['beverages', fce_beverages, fhir_beverages],
152
+ ['choice-answer-option', fce_choice_answer_option, fhir_choice_answer_option],
153
+ ['encounter-create', fce_encounter_create, fhir_encounter_create],
154
+ ['gad-7', fce_gad_7, fhir_gad_7],
155
+ ['immunization', fce_immunization, fhir_immunization],
156
+ ['medication', fce_medication, fhir_medication],
157
+ ['multiple-type-launch-context', fce_multiple_type_launch_context, fhir_multiple_type_launch_context],
158
+ ['patient-create', fce_patient_create, fhir_patient_create],
159
+ ['patient-edit', fce_patient_edit, fhir_patient_edit],
160
+ ['phq-2-phq-9', fce_phq_2_phq_9, fhir_phq_2_phq_9],
161
+ ['physicalexam', fce_physicalexam, fhir_physicalexam],
162
+ ['practitioner-create', fce_practitioner_create, fhir_practitioner_create],
163
+ ['practitioner-edit', fce_practitioner_edit, fhir_practitioner_edit],
164
+ ['practitioner-role-create', fce_practitioner_role_create, fhir_practitioner_role_create],
165
+ ['public-appointment', fce_public_appointment, fhir_public_appointment],
166
+ ['review-of-systems', fce_review_of_systems, fhir_review_of_systems],
167
+ ['source-queries', fce_source_queries, fhir_source_queries],
168
+ ['vitals', fce_vitals, fhir_vitals],
169
+ [
170
+ 'practitioner-create-structure-map',
171
+ fce_practitioner_create_structure_map,
172
+ fhir_practitioner_create_structure_map,
173
+ ],
174
+ ['consent', fce_consent, fhir_consent],
175
+ ['enable-when', fce_enable_when, fhir_enable_when],
176
+ ['cqf-examples', fce_cqf_examples, fhir_cqf_examples],
177
+ ['constraint', fce_constraint, fhir_constraint],
178
+ ['unit-option', fce_unit_option, fhir_unit_option],
179
+ ['variable', fce_variable, fhir_variable],
180
+ ['sub-questionnaire', fce_sub_questionnaire, fhir_sub_questionnaire],
181
+ ['with-attachment-questionnaire', fce_with_attachment_questionnaire, fhir_with_attachment_questionnaire],
182
+ ['mixed-fce-with-extensions', fce_mixed_fce_with_extensions, fhir_mixed_fce_with_extensions],
183
+ ['unknown-extensions', fce_unknown_extensions, fhir_unknown_extensions],
184
+ ['occurs', fce_occurs, fhir_occurs],
185
+ ])('Each FCE Questionnaire should convert to FHIR %s', async (_, fce_questionnaire, fhir_questionnaire) => {
164
186
  expect(sortExtensionsList(fromFirstClassExtension(fce_questionnaire as FCEQuestionnaire))).toStrictEqual(
165
187
  sortExtensionsList(fhir_questionnaire),
166
188
  );
@@ -0,0 +1,26 @@
1
+ {
2
+ "resourceType": "Questionnaire",
3
+ "id": "fce-with-extensions",
4
+ "meta": {
5
+ "profile": [
6
+ "https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"
7
+ ]
8
+ },
9
+ "status": "active",
10
+ "item": [
11
+ {
12
+ "type": "string",
13
+ "linkId": "question",
14
+ "entryFormat": "This is FCE",
15
+ "extension": [
16
+ {
17
+ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
18
+ "valueExpression": {
19
+ "language": "text/fhirpath",
20
+ "expression": "'This is extension'"
21
+ }
22
+ }
23
+ ]
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "resourceType": "Questionnaire",
3
+ "id": "occurs",
4
+ "meta": {
5
+ "profile": ["https://beda.software/beda-emr-questionnaire"]
6
+ },
7
+ "status": "active",
8
+ "item": [
9
+ {
10
+ "type": "number",
11
+ "linkId": "number",
12
+ "minOccurs": 1,
13
+ "maxOccurs": 2
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "resourceType": "Questionnaire",
3
+ "id": "unknown-extensions",
4
+ "meta": {
5
+ "profile": [
6
+ "https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"
7
+ ]
8
+ },
9
+ "status": "active",
10
+ "item": [
11
+ {
12
+ "type": "string",
13
+ "linkId": "question-1",
14
+ "initialExpression": {
15
+ "language": "text/fhirpath",
16
+ "expression": "'This is known extension'"
17
+ },
18
+ "readOnly": true,
19
+ "_readOnly": {
20
+ "cqfExpression": {
21
+ "language": "text/fhirpath",
22
+ "expression": "{}"
23
+ },
24
+ "extension": [
25
+ {
26
+ "url": "urn:unknown-primitive-extension-1",
27
+ "valueString": "This is unknown primitive extension along with known extension"
28
+ }
29
+ ]
30
+ },
31
+ "extension": [
32
+ {
33
+ "url": "urn:unknown-extension-1",
34
+ "valueString": "This is unknown extension along with known extension"
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "type": "string",
40
+ "linkId": "question-2",
41
+ "readOnly": true,
42
+ "_readOnly": {
43
+ "extension": [
44
+ {
45
+ "url": "urn:unknown-primitive-extension-2",
46
+ "valueString": "This is single unknown primitive extension"
47
+ }
48
+ ]
49
+ },
50
+ "extension": [
51
+ {
52
+ "url": "urn:unknown-extension-2",
53
+ "valueString": "This is single unknown extension"
54
+ }
55
+ ]
56
+ }
57
+ ]
58
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "item": [
3
+ {
4
+ "type": "string",
5
+ "linkId": "question",
6
+ "extension": [
7
+ {
8
+ "url": "http://hl7.org/fhir/StructureDefinition/entryFormat",
9
+ "valueString": "This is FCE"
10
+ },
11
+ {
12
+ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
13
+ "valueExpression": {
14
+ "language": "text/fhirpath",
15
+ "expression": "'This is extension'"
16
+ }
17
+ }
18
+ ]
19
+ }
20
+ ],
21
+ "meta": {
22
+ "profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
23
+ },
24
+ "status": "active",
25
+ "id": "fce-with-extensions",
26
+ "resourceType": "Questionnaire"
27
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "item": [
3
+ {
4
+ "type": "number",
5
+ "linkId": "number",
6
+ "extension": [
7
+ {
8
+ "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs",
9
+ "valueInteger": 1
10
+ },
11
+ {
12
+ "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs",
13
+ "valueInteger": 2
14
+ }
15
+ ]
16
+ }
17
+ ],
18
+ "meta": {
19
+ "profile": ["https://beda.software/beda-emr-questionnaire"]
20
+ },
21
+ "status": "active",
22
+ "resourceType": "Questionnaire",
23
+ "id": "occurs"
24
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "item": [
3
+ {
4
+ "type": "string",
5
+ "linkId": "question-1",
6
+ "readOnly": true,
7
+ "_readOnly": {
8
+ "extension": [
9
+ {
10
+ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression",
11
+ "valueExpression": {
12
+ "language": "text/fhirpath",
13
+ "expression": "{}"
14
+ }
15
+ },
16
+ {
17
+ "url": "urn:unknown-primitive-extension-1",
18
+ "valueString": "This is unknown primitive extension along with known extension"
19
+ }
20
+ ]
21
+ },
22
+ "extension": [
23
+ {
24
+ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
25
+ "valueExpression": {
26
+ "language": "text/fhirpath",
27
+ "expression": "'This is known extension'"
28
+ }
29
+ },
30
+ {
31
+ "url": "urn:unknown-extension-1",
32
+ "valueString": "This is unknown extension along with known extension"
33
+ }
34
+ ]
35
+ },
36
+ {
37
+ "type": "string",
38
+ "linkId": "question-2",
39
+ "readOnly": true,
40
+ "_readOnly": {
41
+ "extension": [
42
+ {
43
+ "url": "urn:unknown-primitive-extension-2",
44
+ "valueString": "This is single unknown primitive extension"
45
+ }
46
+ ]
47
+ },
48
+ "extension": [
49
+ {
50
+ "url": "urn:unknown-extension-2",
51
+ "valueString": "This is single unknown extension"
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ "meta": {
57
+ "profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
58
+ },
59
+ "status": "active",
60
+ "id": "unknown-extensions",
61
+ "resourceType": "Questionnaire"
62
+ }
@@ -48,6 +48,8 @@ export enum ExtensionIdentifier {
48
48
  Macro = 'https://beda.software/fhir-emr-questionnaire/macro',
49
49
  RowsNumber = 'https://beda.software/fhir-emr-questionnaire/rows-number',
50
50
  SubQuestionnaire = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire',
51
+ MinOccurs = 'http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs',
52
+ MaxOccurs = 'http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs',
51
53
  }
52
54
 
53
55
  export type ExtensionTransformer = {
@@ -181,7 +183,12 @@ export const extensionTransformers: ExtensionTransformer = {
181
183
  [ExtensionIdentifier.ChoiceColumns]: {
182
184
  path: { extension: 'valueInteger', questionnaire: 'choiceColumns' },
183
185
  },
184
-
186
+ [ExtensionIdentifier.MinOccurs]: {
187
+ path: { extension: 'valueInteger', questionnaire: 'minOccurs' },
188
+ },
189
+ [ExtensionIdentifier.MaxOccurs]: {
190
+ path: { extension: 'valueInteger', questionnaire: 'maxOccurs' },
191
+ },
185
192
  [ExtensionIdentifier.ItemPopulationContext]: {
186
193
  path: { extension: 'valueExpression', questionnaire: 'itemPopulationContext' },
187
194
  },
@@ -4,7 +4,7 @@ import {
4
4
  QuestionnaireItem as FHIRQuestionnaireItem,
5
5
  QuestionnaireItemAnswerOption as FHIRQuestionnaireItemAnswerOption,
6
6
  QuestionnaireItemInitial as FHIRQuestionnaireItemInitial,
7
- Element as FHIRElement,
7
+ Extension as FHIRExtension,
8
8
  } from 'fhir/r4b';
9
9
  import _ from 'lodash';
10
10
 
@@ -16,71 +16,77 @@ import {
16
16
  QuestionnaireItemInitial as FCEQuestionnaireItemInitial,
17
17
  } from '@beda.software/aidbox-types';
18
18
 
19
- import { convertFromFHIRExtension, filterExtensions, fromFHIRReference } from '../../../converter';
19
+ import { convertFromFHIRExtension, fromFHIRReference } from '../../../converter';
20
20
  import { ExtensionIdentifier } from '../../extensions';
21
21
 
22
22
  export function processItems(fhirQuestionnaire: FHIRQuestionnaire, extensionsOnly: boolean) {
23
23
  return fhirQuestionnaire.item?.map((item) => convertItemProperties(item, extensionsOnly));
24
24
  }
25
25
 
26
- function convertItemProperties(
27
- item: FHIRQuestionnaireItem,
28
- extensionsOnly: boolean,
29
- ): FCEQuestionnaireItem {
30
- const updatedProperties = getUpdatedPropertiesFromItem(item, extensionsOnly);
31
- const newItem = { ...item, ...updatedProperties };
26
+ function convertItemProperties(item: FHIRQuestionnaireItem, extensionsOnly: boolean): FCEQuestionnaireItem {
27
+ const newItem = getUpdatedPropertiesFromItem(item, extensionsOnly);
32
28
 
33
- newItem.item = item.item?.map((nestedItem) =>
34
- convertItemProperties(nestedItem, extensionsOnly),
35
- );
36
-
37
- if (newItem.extension) {
38
- delete newItem.extension;
29
+ if (item.item) {
30
+ newItem.item = item.item.map((nestedItem) => convertItemProperties(nestedItem, extensionsOnly));
39
31
  }
40
-
41
32
  return newItem;
42
33
  }
43
34
 
44
35
  function getUpdatedPropertiesFromItem(item: FHIRQuestionnaireItem, extensionsOnly: boolean) {
45
- let updatedProperties: FCEQuestionnaireItem = { linkId: item.linkId, type: item.type };
46
-
47
- for (const identifier of Object.values(ExtensionIdentifier)) {
48
- for (const property of Object.keys(item)) {
49
- const element = item[property as keyof FHIRQuestionnaireItem];
50
- if (property.startsWith('_') && element instanceof Object) {
51
- const primitiveExtensions = (element as FHIRElement)?.extension ?? [];
52
- for (const extension of primitiveExtensions) {
53
- if (extension.url === identifier) {
54
- updatedProperties = {
55
- ...updatedProperties,
56
- ...{ [property]: convertFromFHIRExtension([extension]) },
57
- };
58
- }
59
- }
60
- }
36
+ let newItem: FCEQuestionnaireItem = { ...item };
37
+
38
+ // Primitive extensions
39
+ for (const property of Object.keys(item)) {
40
+ const element = item[property as keyof FHIRQuestionnaireItem];
41
+ if (property.startsWith('_') && element instanceof Object && !Array.isArray(element)) {
42
+ newItem = {
43
+ ...newItem,
44
+ ...{
45
+ [property]: processExtensibleElement(element),
46
+ },
47
+ };
61
48
  }
49
+ }
50
+
51
+ if (!extensionsOnly) {
52
+ newItem.answerOption = item.answerOption?.map(processItemOption);
53
+ newItem.initial = item.initial?.map(processItemOption);
54
+ newItem.enableWhen = item.enableWhen?.map(processEnableWhenItem);
55
+ }
56
+
57
+ return processExtensibleElement(newItem);
58
+ }
59
+
60
+ function processExtensibleElement<T extends { extension?: FHIRExtension[] }>(element: T): T {
61
+ let newElement = { ...element };
62
+ const knownExtensionUrls = Object.values(ExtensionIdentifier) as string[];
62
63
 
63
- const extensions = filterExtensions(item, identifier);
64
- if (extensions?.length) {
65
- updatedProperties = {
66
- ...updatedProperties,
64
+ const allExtensions = element.extension ?? [];
65
+ const knownExtensions = allExtensions.filter((ext) => knownExtensionUrls.includes(ext.url));
66
+ const unknownExtensions = allExtensions.filter((ext) => !knownExtensionUrls.includes(ext.url));
67
+
68
+ if (knownExtensions.length) {
69
+ const uniqueExtensionUrls = new Set(knownExtensions.map((ext) => ext.url));
70
+ for (const extensionUrl of uniqueExtensionUrls) {
71
+ const extensions = knownExtensions.filter((ext) => ext.url === extensionUrl);
72
+
73
+ newElement = {
74
+ ...newElement,
67
75
  ...convertFromFHIRExtension(extensions),
68
76
  };
69
77
  }
70
78
  }
71
79
 
72
- if (!extensionsOnly) {
73
- updatedProperties.answerOption = item.answerOption?.map(processItemOption);
74
- updatedProperties.initial = item.initial?.map(processItemOption);
75
- updatedProperties.enableWhen = item.enableWhen?.map(processEnableWhenItem);
80
+ if (unknownExtensions.length) {
81
+ newElement.extension = unknownExtensions;
82
+ } else {
83
+ delete newElement.extension;
76
84
  }
77
85
 
78
- return updatedProperties;
86
+ return newElement;
79
87
  }
80
88
 
81
- function processEnableWhenItem(
82
- item: FHIRQuestionnaireItemEnableWhen,
83
- ): FCEQuestionnaireItemEnableWhen {
89
+ function processEnableWhenItem(item: FHIRQuestionnaireItemEnableWhen): FCEQuestionnaireItemEnableWhen {
84
90
  return {
85
91
  question: item.question,
86
92
  operator: item.operator,
@@ -1,8 +1,4 @@
1
- import {
2
- Reference as FHIRReference,
3
- Extension as FHIRExtension,
4
- QuestionnaireItem as FHIRQuestionnaireItem,
5
- } from 'fhir/r4b';
1
+ import { Reference as FHIRReference, Extension as FHIRExtension } from 'fhir/r4b';
6
2
 
7
3
  import {
8
4
  Extension as FCEExtension,
@@ -33,7 +29,8 @@ export function convertFromFHIRExtension(extensions: FHIRExtension[]): Partial<F
33
29
  }
34
30
 
35
31
  export function convertToFHIRExtension(item: FCEQuestionnaireItem): FHIRExtension[] {
36
- const extensions: FHIRExtension[] = [];
32
+ const extensions: FHIRExtension[] = [...(item.extension ?? [])];
33
+
37
34
  Object.values(ExtensionIdentifier).forEach((identifier) => {
38
35
  const transformer = extensionTransformers[identifier];
39
36
  if ('transform' in transformer) {
@@ -52,6 +49,7 @@ export function convertToFHIRExtension(item: FCEQuestionnaireItem): FHIRExtensio
52
49
  }
53
50
  }
54
51
  });
52
+
55
53
  return extensions;
56
54
  }
57
55
 
@@ -59,10 +57,6 @@ export function extractExtension(extension: FCEExtension[] | undefined, url: 'ex
59
57
  return extension?.find((e) => e.url === url)?.valueInstant;
60
58
  }
61
59
 
62
- export function filterExtensions(item: FHIRQuestionnaireItem, url: string) {
63
- return item.extension?.filter((ext) => ext.url === url);
64
- }
65
-
66
60
  export function fromFHIRReference(r?: FHIRReference): InternalReference | undefined {
67
61
  if (!r || !r.reference) {
68
62
  return undefined;