sdc-qrf 1.1.0-alpha.10 → 1.1.0-alpha.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"processExtensions.d.ts","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAA8B,aAAa,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE1F,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,gBAAgB,GAAG,iBAAiB,CAyIpF"}
1
+ {"version":3,"file":"processExtensions.d.ts","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAA8B,aAAa,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAgB1F,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,gBAAgB,GAAG,iBAAiB,CA2KpF"}
@@ -2,9 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.processExtensions = processExtensions;
4
4
  const tslib_1 = require("tslib");
5
+ function processPrintableElements(url, elements) {
6
+ return elements.map((element) => {
7
+ if ('valueAttachment' in element) {
8
+ return { url, valueAttachment: element.valueAttachment };
9
+ }
10
+ if ('valueExpression' in element) {
11
+ return { url, valueExpression: element.valueExpression };
12
+ }
13
+ return { url, valueString: element.valueString };
14
+ });
15
+ }
5
16
  function processExtensions(questionnaire) {
6
17
  var _a;
7
- const { launchContext, mapping, sourceQueries, targetStructureMap, assembledFrom, assembleContext, itemPopulationContext, variable, printableHeader, printableFooter } = questionnaire, fhirQuestionnaire = tslib_1.__rest(questionnaire, ["launchContext", "mapping", "sourceQueries", "targetStructureMap", "assembledFrom", "assembleContext", "itemPopulationContext", "variable", "printableHeader", "printableFooter"]);
18
+ const { launchContext, mapping, sourceQueries, targetStructureMap, assembledFrom, assembleContext, itemPopulationContext, variable, printableCover, printableHeader, printableHeaderFirstPage, printableFooter, printableFooterLastPage } = questionnaire, fhirQuestionnaire = tslib_1.__rest(questionnaire, ["launchContext", "mapping", "sourceQueries", "targetStructureMap", "assembledFrom", "assembleContext", "itemPopulationContext", "variable", "printableCover", "printableHeader", "printableHeaderFirstPage", "printableFooter", "printableFooterLastPage"]);
8
19
  let extensions = [];
9
20
  if (launchContext) {
10
21
  for (const launchContextItem of launchContext) {
@@ -84,17 +95,20 @@ function processExtensions(questionnaire) {
84
95
  valueExpression: expr,
85
96
  })));
86
97
  }
98
+ if (printableCover) {
99
+ extensions = extensions.concat(processPrintableElements('https://emr-core.beda.software/StructureDefinition/printable-cover', printableCover));
100
+ }
87
101
  if (printableHeader) {
88
- extensions.push({
89
- url: 'https://emr-core.beda.software/StructureDefinition/printable-header',
90
- valueAttachment: printableHeader,
91
- });
102
+ extensions = extensions.concat(processPrintableElements('https://emr-core.beda.software/StructureDefinition/printable-header', printableHeader));
103
+ }
104
+ if (printableHeaderFirstPage) {
105
+ extensions = extensions.concat(processPrintableElements('https://emr-core.beda.software/StructureDefinition/printable-header-first-page', printableHeaderFirstPage));
92
106
  }
93
107
  if (printableFooter) {
94
- extensions.push({
95
- url: 'https://emr-core.beda.software/StructureDefinition/printable-footer',
96
- valueAttachment: printableFooter,
97
- });
108
+ extensions = extensions.concat(processPrintableElements('https://emr-core.beda.software/StructureDefinition/printable-footer', printableFooter));
109
+ }
110
+ if (printableFooterLastPage) {
111
+ extensions = extensions.concat(processPrintableElements('https://emr-core.beda.software/StructureDefinition/printable-footer-last-page', printableFooterLastPage));
98
112
  }
99
113
  if (extensions.length) {
100
114
  fhirQuestionnaire.extension = ((_a = fhirQuestionnaire.extension) !== null && _a !== void 0 ? _a : []).concat(extensions);
@@ -1 +1 @@
1
- {"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Questionnaire as FHIRQuestionnaire, Expression as FHIRExpression, Attachment } from 'fhir/r4b';
1
+ import { Questionnaire as FHIRQuestionnaire, Expression as FHIRExpression } from 'fhir/r4b';
2
+ import { FCEPrintableElement } from '../../../fce.types';
2
3
  export declare function processExtensions(fhirQuestionnaire: FHIRQuestionnaire): {
3
4
  launchContext?: any[];
4
5
  mapping?: any[];
@@ -8,8 +9,11 @@ export declare function processExtensions(fhirQuestionnaire: FHIRQuestionnaire):
8
9
  assembleContext?: string[];
9
10
  itemPopulationContext?: FHIRExpression;
10
11
  variable?: FHIRExpression[];
11
- printableHeader?: Attachment;
12
- printableFooter?: Attachment;
12
+ printableCover?: FCEPrintableElement[];
13
+ printableHeader?: FCEPrintableElement[];
14
+ printableHeaderFirstPage?: FCEPrintableElement[];
15
+ printableFooter?: FCEPrintableElement[];
16
+ printableFooterLastPage?: FCEPrintableElement[];
13
17
  };
14
18
  export declare function processLaunchContext(fhirQuestionnaire: FHIRQuestionnaire): any[] | undefined;
15
19
  //# sourceMappingURL=processExtensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processExtensions.d.ts","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,UAAU,IAAI,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExG,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG;IACrE,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,eAAe,CAAC,EAAE,UAAU,CAAC;CAChC,CAwBA;AAED,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,GAAG,EAAE,GAAG,SAAS,CA2C5F"}
1
+ {"version":3,"file":"processExtensions.d.ts","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG;IACrE,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,wBAAwB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjD,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,uBAAuB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACnD,CA6CA;AAED,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,GAAG,EAAE,GAAG,SAAS,CA2C5F"}
@@ -11,8 +11,11 @@ function processExtensions(fhirQuestionnaire) {
11
11
  const assembleContext = processAssembleContext(fhirQuestionnaire);
12
12
  const itemPopulationContext = processItemPopulationContext(fhirQuestionnaire);
13
13
  const variable = processVariable(fhirQuestionnaire);
14
- const printableHeader = processPrintableHeader(fhirQuestionnaire);
15
- const printableFooter = processPrintableFooter(fhirQuestionnaire);
14
+ const printableCover = processPrintableElements(fhirQuestionnaire, 'https://emr-core.beda.software/StructureDefinition/printable-cover');
15
+ const printableHeader = processPrintableElements(fhirQuestionnaire, 'https://emr-core.beda.software/StructureDefinition/printable-header');
16
+ const printableHeaderFirstPage = processPrintableElements(fhirQuestionnaire, 'https://emr-core.beda.software/StructureDefinition/printable-header-first-page');
17
+ const printableFooter = processPrintableElements(fhirQuestionnaire, 'https://emr-core.beda.software/StructureDefinition/printable-footer');
18
+ const printableFooterLastPage = processPrintableElements(fhirQuestionnaire, 'https://emr-core.beda.software/StructureDefinition/printable-footer-last-page');
16
19
  return {
17
20
  launchContext: (launchContext === null || launchContext === void 0 ? void 0 : launchContext.length) ? launchContext : undefined,
18
21
  mapping: (mapping === null || mapping === void 0 ? void 0 : mapping.length) ? mapping : undefined,
@@ -22,8 +25,11 @@ function processExtensions(fhirQuestionnaire) {
22
25
  assembleContext: assembleContext.length ? assembleContext : undefined,
23
26
  itemPopulationContext: itemPopulationContext ? itemPopulationContext : undefined,
24
27
  variable: (variable === null || variable === void 0 ? void 0 : variable.length) ? variable : undefined,
25
- printableHeader: printableHeader ? printableHeader : undefined,
26
- printableFooter: printableFooter ? printableFooter : undefined,
28
+ printableCover: (printableCover === null || printableCover === void 0 ? void 0 : printableCover.length) ? printableCover : undefined,
29
+ printableHeader: (printableHeader === null || printableHeader === void 0 ? void 0 : printableHeader.length) ? printableHeader : undefined,
30
+ printableHeaderFirstPage: (printableHeaderFirstPage === null || printableHeaderFirstPage === void 0 ? void 0 : printableHeaderFirstPage.length) ? printableHeaderFirstPage : undefined,
31
+ printableFooter: (printableFooter === null || printableFooter === void 0 ? void 0 : printableFooter.length) ? printableFooter : undefined,
32
+ printableFooterLastPage: (printableFooterLastPage === null || printableFooterLastPage === void 0 ? void 0 : printableFooterLastPage.length) ? printableFooterLastPage : undefined,
27
33
  };
28
34
  }
29
35
  function processLaunchContext(fhirQuestionnaire) {
@@ -114,20 +120,24 @@ function processVariable(fhirQuestionnaire) {
114
120
  }
115
121
  return extensions.map((ext) => ext.valueExpression);
116
122
  }
117
- function processPrintableHeader(fhirQuestionnaire) {
123
+ function processPrintableElements(fhirQuestionnaire, extensionUrl) {
118
124
  var _a;
119
- const extension = (_a = fhirQuestionnaire.extension) === null || _a === void 0 ? void 0 : _a.find((ext) => ext.url === 'https://emr-core.beda.software/StructureDefinition/printable-header');
120
- if (!extension) {
125
+ const extensions = (_a = fhirQuestionnaire.extension) === null || _a === void 0 ? void 0 : _a.filter((ext) => ext.url === extensionUrl);
126
+ if (!(extensions === null || extensions === void 0 ? void 0 : extensions.length)) {
121
127
  return undefined;
122
128
  }
123
- return extension.valueAttachment;
124
- }
125
- function processPrintableFooter(fhirQuestionnaire) {
126
- var _a;
127
- const extension = (_a = fhirQuestionnaire.extension) === null || _a === void 0 ? void 0 : _a.find((ext) => ext.url === 'https://emr-core.beda.software/StructureDefinition/printable-footer');
128
- if (!extension) {
129
- return undefined;
129
+ const elements = [];
130
+ for (const ext of extensions) {
131
+ if (ext.valueAttachment) {
132
+ elements.push({ valueAttachment: ext.valueAttachment });
133
+ }
134
+ else if (ext.valueExpression) {
135
+ elements.push({ valueExpression: ext.valueExpression });
136
+ }
137
+ else if (ext.valueString !== undefined) {
138
+ elements.push({ valueString: ext.valueString });
139
+ }
130
140
  }
131
- return extension.valueAttachment;
141
+ return elements.length ? elements : undefined;
132
142
  }
133
143
  //# sourceMappingURL=processExtensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":"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"}
@@ -18,10 +18,16 @@ export interface FCEQuestionnaire extends Questionnaire {
18
18
  /** NOTE: from extension http://hl7.org/fhir/StructureDefinition/variable */
19
19
  /** Variable specifying a logic to generate a variable for use in subsequent logic. The name of the variable will be added to FHIRPath's context when processing descendants of the element that contains this extension. */
20
20
  variable?: Expression[];
21
+ /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-cover */
22
+ printableCover?: FCEPrintableElement[];
21
23
  /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-header */
22
- printableHeader?: Attachment;
24
+ printableHeader?: FCEPrintableElement[];
25
+ /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-header-first-page */
26
+ printableHeaderFirstPage?: FCEPrintableElement[];
23
27
  /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-footer */
24
- printableFooter?: Attachment;
28
+ printableFooter?: FCEPrintableElement[];
29
+ /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-footer-last-page */
30
+ printableFooterLastPage?: FCEPrintableElement[];
25
31
  /** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-targetStructureMap */
26
32
  targetStructureMap?: string[];
27
33
  }
@@ -184,4 +190,14 @@ export interface FCEQuestionnaireMappingReference {
184
190
  export interface FCEQuestionnaireMappingExpression {
185
191
  valueExpression: Expression;
186
192
  }
193
+ export interface FCEPrintableAttachmentElement {
194
+ valueAttachment: Attachment;
195
+ }
196
+ export interface FCEPrintableExpressionElement {
197
+ valueExpression: Expression;
198
+ }
199
+ export interface FCEPrintableStringElement {
200
+ valueString: string;
201
+ }
202
+ export type FCEPrintableElement = FCEPrintableAttachmentElement | FCEPrintableExpressionElement | FCEPrintableStringElement;
187
203
  //# sourceMappingURL=fce.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fce.types.d.ts","sourceRoot":"","sources":["../src/fce.types.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,eAAe,EACf,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,6BAA6B,EAC7B,SAAS,EACT,KAAK,EACR,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACnD,4GAA4G;IAC5G,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC9B,kHAAkH;IAClH,gMAAgM;IAChM,qBAAqB,CAAC,EAAE,UAAU,CAAC;IACnC,0GAA0G;IAC1G,aAAa,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAChD,mGAAmG;IACnG,uFAAuF;IACvF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,gCAAgC,GAAG,iCAAiC,CAAC,CAAC;IAClG,0GAA0G;IAC1G,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,4EAA4E;IAC5E,4NAA4N;IAC5N,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,+FAA+F;IAC/F,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,+FAA+F;IAC/F,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,+GAA+G;IAC/G,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC3D,6GAA6G;IAC7G,mKAAmK;IACnK,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,iHAAiH;IACjH,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yGAAyG;IACzG,+CAA+C;IAC/C,YAAY,CAAC,EAAE,gCAAgC,EAAE,CAAC;IAClD,4FAA4F;IAC5F,8GAA8G;IAC9G,cAAc,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAClD,0HAA0H;IAC1H,4JAA4J;IAC5J,6BAA6B,CAAC,EAAE,iDAAiD,EAAE,CAAC;IACpF,iHAAiH;IACjH,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8GAA8G;IAC9G,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,iCAAiC;IACjC,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC9B,6FAA6F;IAC7F,0FAA0F;IAC1F,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,kHAAkH;IAClH,gMAAgM;IAChM,qBAAqB,CAAC,EAAE,UAAU,CAAC;IACnC,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,4BAA4B,CAAC;IACzC,mGAAmG;IACnG,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,4BAA4B,CAAC;IACzC,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,wBAAwB,CAAC;IACjC,mFAAmF;IACnF,+RAA+R;IAC/R,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,4EAA4E;IAC5E,4NAA4N;IAC5N,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,QAAQ,CAAC;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,+BAA+B,CAAC;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,+BAA+B,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,cAAc,CAAC,EAAE,kCAAkC,EAAE,CAAC;IACtD,WAAW,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACrC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IACzC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IACzC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gCAAgC;IAC7C,sCAAsC;IACtC,wBAAwB;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,sBAAsB;IACtB,KAAK,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC3C,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IAGpC,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,uDAAuD,GAAG,IAAI,CACtE,6BAA6B,EAC7B,iBAAiB,GAAG,kBAAkB,CACzC,CAAC;AAEF,MAAM,WAAW,iDAAiD;IAC9D,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC,uDAAuD,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,+BAA+B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kCAAkC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC1C,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gCAAgC;IAC7C,cAAc,EAAE,SAAS,CAAC;CAC7B;AACD,MAAM,WAAW,iCAAiC;IAC9C,eAAe,EAAE,UAAU,CAAC;CAC/B"}
1
+ {"version":3,"file":"fce.types.d.ts","sourceRoot":"","sources":["../src/fce.types.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": "1.1.0-alpha.10",
4
+ "version": "1.1.0-alpha.11",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/beda-software/sdc-qrf.git"
@@ -36,7 +36,7 @@ import fce_practitioner_create from './resources/questionnaire_fce/practitioner_
36
36
  import fce_practitioner_create_structure_map from './resources/questionnaire_fce/practitioner_create_structure_map.json';
37
37
  import fce_practitioner_edit from './resources/questionnaire_fce/practitioner_edit.json';
38
38
  import fce_practitioner_role_create from './resources/questionnaire_fce/practitioner_role_create.json';
39
- import fce_printable_header from './resources/questionnaire_fce/printable_header.json';
39
+ import fce_printable_elements from './resources/questionnaire_fce/printable_elements.json';
40
40
  import fce_public_appointment from './resources/questionnaire_fce/public_appointment.json';
41
41
  import fce_questionnaire_variable from './resources/questionnaire_fce/questionnaire_variable.json';
42
42
  import fce_review_of_systems from './resources/questionnaire_fce/review_of_systems.json';
@@ -82,7 +82,7 @@ import fhir_practitioner_create from './resources/questionnaire_fhir/practitione
82
82
  import fhir_practitioner_create_structure_map from './resources/questionnaire_fhir/practitioner_create_structure_map.json';
83
83
  import fhir_practitioner_edit from './resources/questionnaire_fhir/practitioner_edit.json';
84
84
  import fhir_practitioner_role_create from './resources/questionnaire_fhir/practitioner_role_create.json';
85
- import fhir_printable_header from './resources/questionnaire_fhir/printable_header.json';
85
+ import fhir_printable_elements from './resources/questionnaire_fhir/printable_elements.json';
86
86
  import fhir_public_appointment from './resources/questionnaire_fhir/public_appointment.json';
87
87
  import fhir_questionnaire_variable from './resources/questionnaire_fhir/questionnaire_variable.json';
88
88
  import fhir_review_of_systems from './resources/questionnaire_fhir/review_of_systems.json';
@@ -149,7 +149,7 @@ describe('Questionanire and QuestionnaireResponses transformation', () => {
149
149
  ['chart-highlight', fhir_chart_highlight, fce_chart_highlight],
150
150
  ['column-width', fhir_column_width, fce_column_width],
151
151
  ['mapping-inline', fhir_mapping_inline, fce_mapping_inline],
152
- ['printable-header', fhir_printable_header, fce_printable_header],
152
+ ['printable-elements', fhir_printable_elements, fce_printable_elements],
153
153
  ])('Each FHIR Questionnaire should convert to FCE %s', async (_, fhir_questionnaire, fce_questionnaire) => {
154
154
  expect(toFirstClassExtension(fhir_questionnaire as FHIRQuestionnaire)).toStrictEqual(fce_questionnaire);
155
155
  });
@@ -202,7 +202,7 @@ describe('Questionanire and QuestionnaireResponses transformation', () => {
202
202
  ['chart-highlight', fce_chart_highlight, fhir_chart_highlight],
203
203
  ['column-width', fce_column_width, fhir_column_width],
204
204
  ['mapping-inline', fce_mapping_inline, fhir_mapping_inline],
205
- ['printable-header', fce_printable_header, fhir_printable_header],
205
+ ['printable-elements', fce_printable_elements, fhir_printable_elements],
206
206
  ])('Each FCE Questionnaire should convert to FHIR %s', async (_, fce_questionnaire, fhir_questionnaire) => {
207
207
  expect(sortExtensionsList(fromFirstClassExtension(fce_questionnaire as FCEQuestionnaire))).toStrictEqual(
208
208
  sortExtensionsList(fhir_questionnaire),
@@ -0,0 +1,104 @@
1
+ {
2
+ "resourceType": "Questionnaire",
3
+ "status": "active",
4
+ "meta": {
5
+ "profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
6
+ },
7
+ "printableCover": [
8
+ {
9
+ "valueAttachment": {
10
+ "contentType": "application/pdf",
11
+ "data": "base64-encoded-pdf-data",
12
+ "url": "https://example.com/printable-cover.pdf"
13
+ }
14
+ },
15
+ {
16
+ "valueExpression": {
17
+ "language": "text/fhirpath",
18
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
19
+ }
20
+ },
21
+ {
22
+ "valueString": "Cover Page"
23
+ }
24
+ ],
25
+ "printableHeaderFirstPage": [
26
+ {
27
+ "valueAttachment": {
28
+ "contentType": "application/pdf",
29
+ "data": "base64-encoded-pdf-data",
30
+ "url": "https://example.com/printable-header-first-page.pdf"
31
+ }
32
+ },
33
+ {
34
+ "valueExpression": {
35
+ "language": "text/fhirpath",
36
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
37
+ }
38
+ },
39
+ {
40
+ "valueString": "First Page"
41
+ }
42
+ ],
43
+ "printableHeader": [
44
+ {
45
+ "valueAttachment": {
46
+ "contentType": "application/pdf",
47
+ "data": "base64-encoded-pdf-data",
48
+ "url": "https://example.com/printable-header.pdf"
49
+ }
50
+ },
51
+ {
52
+ "valueExpression": {
53
+ "language": "text/fhirpath",
54
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
55
+ }
56
+ },
57
+ {
58
+ "valueString": "Patient Name"
59
+ }
60
+ ],
61
+ "printableFooter": [
62
+ {
63
+ "valueAttachment": {
64
+ "contentType": "application/pdf",
65
+ "data": "base64-encoded-pdf-data",
66
+ "url": "https://example.com/printable-footer.pdf"
67
+ }
68
+ },
69
+ {
70
+ "valueExpression": {
71
+ "language": "text/fhirpath",
72
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
73
+ }
74
+ },
75
+ {
76
+ "valueString": "Footer"
77
+ }
78
+ ],
79
+ "printableFooterLastPage": [
80
+ {
81
+ "valueAttachment": {
82
+ "contentType": "application/pdf",
83
+ "data": "base64-encoded-pdf-data",
84
+ "url": "https://example.com/printable-footer-last-page.pdf"
85
+ }
86
+ },
87
+ {
88
+ "valueExpression": {
89
+ "language": "text/fhirpath",
90
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
91
+ }
92
+ },
93
+ {
94
+ "valueString": "Last Page"
95
+ }
96
+ ],
97
+ "item": [
98
+ {
99
+ "linkId": "title",
100
+ "type": "string",
101
+ "text": "Title"
102
+ }
103
+ ]
104
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "resourceType": "Questionnaire",
3
+ "status": "active",
4
+ "meta": {
5
+ "profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
6
+ },
7
+ "extension": [
8
+ {
9
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-cover",
10
+ "valueAttachment": {
11
+ "contentType": "application/pdf",
12
+ "data": "base64-encoded-pdf-data",
13
+ "url": "https://example.com/printable-cover.pdf"
14
+ }
15
+ },
16
+ {
17
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-cover",
18
+ "valueExpression": {
19
+ "language": "text/fhirpath",
20
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
21
+ }
22
+ },
23
+ {
24
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-cover",
25
+ "valueString": "Cover Page"
26
+ },
27
+ {
28
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-header-first-page",
29
+ "valueAttachment": {
30
+ "contentType": "application/pdf",
31
+ "data": "base64-encoded-pdf-data",
32
+ "url": "https://example.com/printable-header-first-page.pdf"
33
+ }
34
+ },
35
+ {
36
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-header-first-page",
37
+ "valueExpression": {
38
+ "language": "text/fhirpath",
39
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
40
+ }
41
+ },
42
+ {
43
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-header-first-page",
44
+ "valueString": "First Page"
45
+ },
46
+ {
47
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-header",
48
+ "valueAttachment": {
49
+ "contentType": "application/pdf",
50
+ "data": "base64-encoded-pdf-data",
51
+ "url": "https://example.com/printable-header.pdf"
52
+ }
53
+ },
54
+ {
55
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-header",
56
+ "valueExpression": {
57
+ "language": "text/fhirpath",
58
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
59
+ }
60
+ },
61
+ {
62
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-footer",
63
+ "valueAttachment": {
64
+ "contentType": "application/pdf",
65
+ "data": "base64-encoded-pdf-data",
66
+ "url": "https://example.com/printable-footer.pdf"
67
+ }
68
+ },
69
+ {
70
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-footer",
71
+ "valueExpression": {
72
+ "language": "text/fhirpath",
73
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
74
+ }
75
+ },
76
+ {
77
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-footer",
78
+ "valueString": "Footer"
79
+ },
80
+ {
81
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-footer-last-page",
82
+ "valueAttachment": {
83
+ "contentType": "application/pdf",
84
+ "data": "base64-encoded-pdf-data",
85
+ "url": "https://example.com/printable-footer-last-page.pdf"
86
+ }
87
+ },
88
+ {
89
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-footer-last-page",
90
+ "valueExpression": {
91
+ "language": "text/fhirpath",
92
+ "expression": "%Patient.name.given[0] + ' ' + %Patient.name.family"
93
+ }
94
+ },
95
+ {
96
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-footer-last-page",
97
+ "valueString": "Last Page"
98
+ },
99
+ {
100
+ "url": "https://emr-core.beda.software/StructureDefinition/printable-header",
101
+ "valueString": "Patient Name"
102
+ }
103
+ ],
104
+ "item": [
105
+ {
106
+ "linkId": "title",
107
+ "type": "string",
108
+ "text": "Title"
109
+ }
110
+ ]
111
+ }
@@ -1,6 +1,20 @@
1
- import { FCEQuestionnaire } from '../../../fce.types';
1
+ import { FCEPrintableElement, FCEQuestionnaire } from '../../../fce.types';
2
2
  import { Extension as FHIRExtension, Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
3
3
 
4
+ function processPrintableElements(url: string, elements: FCEPrintableElement[]): FHIRExtension[] {
5
+ return elements.map((element) => {
6
+ if ('valueAttachment' in element) {
7
+ return { url, valueAttachment: element.valueAttachment };
8
+ }
9
+
10
+ if ('valueExpression' in element) {
11
+ return { url, valueExpression: element.valueExpression };
12
+ }
13
+
14
+ return { url, valueString: (element as { valueString: string }).valueString };
15
+ });
16
+ }
17
+
4
18
  export function processExtensions(questionnaire: FCEQuestionnaire): FHIRQuestionnaire {
5
19
  const {
6
20
  launchContext,
@@ -11,8 +25,11 @@ export function processExtensions(questionnaire: FCEQuestionnaire): FHIRQuestion
11
25
  assembleContext,
12
26
  itemPopulationContext,
13
27
  variable,
28
+ printableCover,
14
29
  printableHeader,
30
+ printableHeaderFirstPage,
15
31
  printableFooter,
32
+ printableFooterLastPage,
16
33
  ...fhirQuestionnaire
17
34
  } = questionnaire;
18
35
 
@@ -119,18 +136,49 @@ export function processExtensions(questionnaire: FCEQuestionnaire): FHIRQuestion
119
136
  );
120
137
  }
121
138
 
139
+ if (printableCover) {
140
+ extensions = extensions.concat(
141
+ processPrintableElements(
142
+ 'https://emr-core.beda.software/StructureDefinition/printable-cover',
143
+ printableCover,
144
+ ),
145
+ );
146
+ }
147
+
122
148
  if (printableHeader) {
123
- extensions.push({
124
- url: 'https://emr-core.beda.software/StructureDefinition/printable-header',
125
- valueAttachment: printableHeader,
126
- });
149
+ extensions = extensions.concat(
150
+ processPrintableElements(
151
+ 'https://emr-core.beda.software/StructureDefinition/printable-header',
152
+ printableHeader,
153
+ ),
154
+ );
155
+ }
156
+
157
+ if (printableHeaderFirstPage) {
158
+ extensions = extensions.concat(
159
+ processPrintableElements(
160
+ 'https://emr-core.beda.software/StructureDefinition/printable-header-first-page',
161
+ printableHeaderFirstPage,
162
+ ),
163
+ );
127
164
  }
128
165
 
129
166
  if (printableFooter) {
130
- extensions.push({
131
- url: 'https://emr-core.beda.software/StructureDefinition/printable-footer',
132
- valueAttachment: printableFooter,
133
- });
167
+ extensions = extensions.concat(
168
+ processPrintableElements(
169
+ 'https://emr-core.beda.software/StructureDefinition/printable-footer',
170
+ printableFooter,
171
+ ),
172
+ );
173
+ }
174
+
175
+ if (printableFooterLastPage) {
176
+ extensions = extensions.concat(
177
+ processPrintableElements(
178
+ 'https://emr-core.beda.software/StructureDefinition/printable-footer-last-page',
179
+ printableFooterLastPage,
180
+ ),
181
+ );
134
182
  }
135
183
 
136
184
  if (extensions.length) {
@@ -1,4 +1,5 @@
1
- import { Questionnaire as FHIRQuestionnaire, Expression as FHIRExpression, Attachment } from 'fhir/r4b';
1
+ import { Questionnaire as FHIRQuestionnaire, Expression as FHIRExpression } from 'fhir/r4b';
2
+ import { FCEPrintableElement } from '../../../fce.types';
2
3
 
3
4
  export function processExtensions(fhirQuestionnaire: FHIRQuestionnaire): {
4
5
  launchContext?: any[];
@@ -9,8 +10,11 @@ export function processExtensions(fhirQuestionnaire: FHIRQuestionnaire): {
9
10
  assembleContext?: string[];
10
11
  itemPopulationContext?: FHIRExpression;
11
12
  variable?: FHIRExpression[];
12
- printableHeader?: Attachment;
13
- printableFooter?: Attachment;
13
+ printableCover?: FCEPrintableElement[];
14
+ printableHeader?: FCEPrintableElement[];
15
+ printableHeaderFirstPage?: FCEPrintableElement[];
16
+ printableFooter?: FCEPrintableElement[];
17
+ printableFooterLastPage?: FCEPrintableElement[];
14
18
  } {
15
19
  const launchContext = processLaunchContext(fhirQuestionnaire);
16
20
  const mapping = processMapping(fhirQuestionnaire);
@@ -20,8 +24,26 @@ export function processExtensions(fhirQuestionnaire: FHIRQuestionnaire): {
20
24
  const assembleContext = processAssembleContext(fhirQuestionnaire);
21
25
  const itemPopulationContext = processItemPopulationContext(fhirQuestionnaire);
22
26
  const variable = processVariable(fhirQuestionnaire);
23
- const printableHeader = processPrintableHeader(fhirQuestionnaire);
24
- const printableFooter = processPrintableFooter(fhirQuestionnaire);
27
+ const printableCover = processPrintableElements(
28
+ fhirQuestionnaire,
29
+ 'https://emr-core.beda.software/StructureDefinition/printable-cover',
30
+ );
31
+ const printableHeader = processPrintableElements(
32
+ fhirQuestionnaire,
33
+ 'https://emr-core.beda.software/StructureDefinition/printable-header',
34
+ );
35
+ const printableHeaderFirstPage = processPrintableElements(
36
+ fhirQuestionnaire,
37
+ 'https://emr-core.beda.software/StructureDefinition/printable-header-first-page',
38
+ );
39
+ const printableFooter = processPrintableElements(
40
+ fhirQuestionnaire,
41
+ 'https://emr-core.beda.software/StructureDefinition/printable-footer',
42
+ );
43
+ const printableFooterLastPage = processPrintableElements(
44
+ fhirQuestionnaire,
45
+ 'https://emr-core.beda.software/StructureDefinition/printable-footer-last-page',
46
+ );
25
47
 
26
48
  return {
27
49
  launchContext: launchContext?.length ? launchContext : undefined,
@@ -32,8 +54,11 @@ export function processExtensions(fhirQuestionnaire: FHIRQuestionnaire): {
32
54
  assembleContext: assembleContext.length ? assembleContext : undefined,
33
55
  itemPopulationContext: itemPopulationContext ? itemPopulationContext : undefined,
34
56
  variable: variable?.length ? variable : undefined,
35
- printableHeader: printableHeader ? printableHeader : undefined,
36
- printableFooter: printableFooter ? printableFooter : undefined,
57
+ printableCover: printableCover?.length ? printableCover : undefined,
58
+ printableHeader: printableHeader?.length ? printableHeader : undefined,
59
+ printableHeaderFirstPage: printableHeaderFirstPage?.length ? printableHeaderFirstPage : undefined,
60
+ printableFooter: printableFooter?.length ? printableFooter : undefined,
61
+ printableFooterLastPage: printableFooterLastPage?.length ? printableFooterLastPage : undefined,
37
62
  };
38
63
  }
39
64
 
@@ -163,26 +188,26 @@ function processVariable(fhirQuestionnaire: FHIRQuestionnaire): FHIRExpression[]
163
188
  return extensions.map((ext) => ext.valueExpression!);
164
189
  }
165
190
 
166
- function processPrintableHeader(fhirQuestionnaire: FHIRQuestionnaire): Attachment | undefined {
167
- const extension = fhirQuestionnaire.extension?.find(
168
- (ext) => ext.url === 'https://emr-core.beda.software/StructureDefinition/printable-header',
169
- );
170
-
171
- if (!extension) {
191
+ function processPrintableElements(
192
+ fhirQuestionnaire: FHIRQuestionnaire,
193
+ extensionUrl: string,
194
+ ): FCEPrintableElement[] | undefined {
195
+ const extensions = fhirQuestionnaire.extension?.filter((ext) => ext.url === extensionUrl);
196
+ if (!extensions?.length) {
172
197
  return undefined;
173
198
  }
174
199
 
175
- return extension.valueAttachment;
176
- }
177
-
178
- function processPrintableFooter(fhirQuestionnaire: FHIRQuestionnaire): Attachment | undefined {
179
- const extension = fhirQuestionnaire.extension?.find(
180
- (ext) => ext.url === 'https://emr-core.beda.software/StructureDefinition/printable-footer',
181
- );
200
+ const elements: FCEPrintableElement[] = [];
182
201
 
183
- if (!extension) {
184
- return undefined;
202
+ for (const ext of extensions) {
203
+ if (ext.valueAttachment) {
204
+ elements.push({ valueAttachment: ext.valueAttachment });
205
+ } else if (ext.valueExpression) {
206
+ elements.push({ valueExpression: ext.valueExpression });
207
+ } else if (ext.valueString !== undefined) {
208
+ elements.push({ valueString: ext.valueString });
209
+ }
185
210
  }
186
211
 
187
- return extension.valueAttachment;
212
+ return elements.length ? elements : undefined;
188
213
  }
package/src/fce.types.ts CHANGED
@@ -32,10 +32,16 @@ export interface FCEQuestionnaire extends Questionnaire {
32
32
  /** NOTE: from extension http://hl7.org/fhir/StructureDefinition/variable */
33
33
  /** Variable specifying a logic to generate a variable for use in subsequent logic. The name of the variable will be added to FHIRPath's context when processing descendants of the element that contains this extension. */
34
34
  variable?: Expression[];
35
+ /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-cover */
36
+ printableCover?: FCEPrintableElement[];
35
37
  /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-header */
36
- printableHeader?: Attachment;
38
+ printableHeader?: FCEPrintableElement[];
39
+ /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-header-first-page */
40
+ printableHeaderFirstPage?: FCEPrintableElement[];
37
41
  /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-footer */
38
- printableFooter?: Attachment;
42
+ printableFooter?: FCEPrintableElement[];
43
+ /** NOTE: from extension https://emr-core.beda.software/StructureDefinition/printable-footer-last-page */
44
+ printableFooterLastPage?: FCEPrintableElement[];
39
45
  /** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-targetStructureMap */
40
46
  targetStructureMap?: string[];
41
47
  }
@@ -216,3 +222,17 @@ export interface FCEQuestionnaireMappingReference {
216
222
  export interface FCEQuestionnaireMappingExpression {
217
223
  valueExpression: Expression;
218
224
  }
225
+
226
+ export interface FCEPrintableAttachmentElement {
227
+ valueAttachment: Attachment;
228
+ }
229
+ export interface FCEPrintableExpressionElement {
230
+ valueExpression: Expression;
231
+ }
232
+ export interface FCEPrintableStringElement {
233
+ valueString: string;
234
+ }
235
+ export type FCEPrintableElement =
236
+ | FCEPrintableAttachmentElement
237
+ | FCEPrintableExpressionElement
238
+ | FCEPrintableStringElement;
@@ -1,19 +0,0 @@
1
- {
2
- "resourceType": "Questionnaire",
3
- "status": "active",
4
- "meta": {
5
- "profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
6
- },
7
- "printableHeader": {
8
- "contentType": "application/pdf",
9
- "data": "base64-encoded-pdf-data",
10
- "url": "https://example.com/printable-header.pdf"
11
- },
12
- "item": [
13
- {
14
- "linkId": "title",
15
- "type": "string",
16
- "text": "Title"
17
- }
18
- ]
19
- }
@@ -1,24 +0,0 @@
1
- {
2
- "resourceType": "Questionnaire",
3
- "status": "active",
4
- "meta": {
5
- "profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
6
- },
7
- "extension": [
8
- {
9
- "url": "https://emr-core.beda.software/StructureDefinition/printable-header",
10
- "valueAttachment": {
11
- "contentType": "application/pdf",
12
- "data": "base64-encoded-pdf-data",
13
- "url": "https://example.com/printable-header.pdf"
14
- }
15
- }
16
- ],
17
- "item": [
18
- {
19
- "linkId": "title",
20
- "type": "string",
21
- "text": "Title"
22
- }
23
- ]
24
- }