Skip to content

Releases: sergeymosyakov/fhir-questionnaire-builder

QuestionnaireRenderer widget 1.0.16

Choose a tag to compare

@github-actions github-actions released this 23 Sep 11:23
b98c206

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

  • Bump fhir-structuremap-js to 1.2.1 (ReDoS fix) by @sergeymosyakov in #98
  • Modal maximize/restore toggle (desktop) by @sergeymosyakov in #100
  • Recognize count() >= 1 / count() > 0 as "any true" over a linkId set by @sergeymosyakov in #102
  • build(deps-dev): bump dompurify to 3.4.13, normalize lockfile to LF by @sergeymosyakov in #105
  • Add Generate Docs report: questionnaire-to-documentation generator by @sergeymosyakov in #106
  • Extend Generate Docs: answer sources, extended item fields, client docs by @sergeymosyakov in #107
  • Date/time picker: year drill-down + scroll repositioning by @sergeymosyakov in #109
  • Generate Docs: fill in missing FHIR/SDC field coverage by @sergeymosyakov in #112
  • build(deps-dev): bump marked from 15.0.12 to 18.0.11 by @dependabot[bot] in #117
  • build(deps-dev): bump @supabase/supabase-js from 2.112.4 to 2.115.0 by @dependabot[bot] in #115
  • build(deps-dev): bump dompurify from 3.4.13 to 3.4.14 by @dependabot[bot] in #114
  • build(deps-dev): bump globals from 17.11.0 to 17.12.0 by @dependabot[bot] in #116
  • build(deps-dev): bump @vitest/coverage-v8 from 4.1.11 to 5.0.0 by @dependabot[bot] in #113
  • feat: generate draft Questionnaire from StructureDefinition by @sergeymosyakov in #118
  • fix: valid FHIR item.type + full slicing/multi-type support for SD generator by @sergeymosyakov in #119
  • fix: audit findings — docs drift, license gaps, CORS open-relay, CSS tokens by @sergeymosyakov in #121
  • feat: FHIRPath Snippets Gallery (issue #122) by @sergeymosyakov in #123
  • docs(skill): check for existing/roadmap issues before creating a new one by @sergeymosyakov in #126
  • fix(validate): flag enableWhen entries missing the required question field by @sergeymosyakov in #127
  • feat: Expression Gallery — repeatable slots, threshold-category output, weighted condition lists by @sergeymosyakov in #128
  • docs: sync gallery file-manifest/ux-features with the 10 shipped patterns by @sergeymosyakov in #129
  • fix(choice): keep a comma inside an option code/label from splitting it by @sergeymosyakov in #131
  • fix(options): prefer _rawAnswerOptions in 3 more readers by @sergeymosyakov in #134
  • refactor(options): _rawAnswerOptions is the only stored answer-options field by @sergeymosyakov in #136
  • build(deps-dev): bump marked from 18.0.11 to 18.0.12 by @dependabot[bot] in #137
  • build(deps-dev): bump @supabase/supabase-js from 2.115.0 to 2.116.0 by @dependabot[bot] in #138
  • build(deps-dev): bump eslint from 10.9.1 to 10.10.0 by @dependabot[bot] in #139
  • build(deps-dev): bump dompurify from 3.4.14 to 3.4.15 by @dependabot[bot] in #141
  • build(deps-dev): bump @playwright/test from 1.62.1 to 1.63.0 by @dependabot[bot] in #140
  • Support questionnaire-itemControl=help (Help-Button) by @sergeymosyakov in #143
  • build(deps-dev): bump marked from 18.0.12 to 18.0.13 by @dependabot[bot] in #144
  • build(deps-dev): bump vitest from 5.0.0 to 5.0.1 by @dependabot[bot] in #145
  • build(deps-dev): bump @vitest/coverage-v8 from 5.0.0 to 5.0.1 by @dependabot[bot] in #146

Full Changelog: widget-v1.0.15...widget-v1.0.16

QuestionnaireRenderer widget 1.0.15

Choose a tag to compare

@github-actions github-actions released this 03 Sep 07:22

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

  • build(deps-dev): bump fast-uri from 3.1.5 to 3.1.7 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #93

Full Changelog: widget-v1.0.14...widget-v1.0.15

QuestionnaireRenderer widget 1.0.14

Choose a tag to compare

@github-actions github-actions released this 02 Sep 16:11
21a7715

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

Full Changelog: widget-v1.0.13...widget-v1.0.14

QuestionnaireRenderer widget 1.0.13

Choose a tag to compare

@github-actions github-actions released this 26 Aug 18:26
b4524a3

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

  • fix(preview): align item label to top, add left margin to itemMedia by @sergeymosyakov in #51
  • Fix Show When nested items, checkbox condition bug, and Expression Builder tooltips by @sergeymosyakov in #53
  • Add FHIR tooltips to Show When modal, clarify enableWhen precedence by @sergeymosyakov in #55
  • build(deps-dev): bump eslint from 10.8.1 to 10.9.0 by @dependabot[bot] in #56
  • Fix: preview panel stays stale after Clear form by @sergeymosyakov in #61
  • StructureMap Extract: execute targetStructureMap client-side via fhir-structuremap-js by @sergeymosyakov in #62
  • FHIR server OAuth login (issue #63) by @sergeymosyakov in #64
  • StructureMap population: execute sourceStructureMap client-side by @sergeymosyakov in #65
  • Fix: settings page overwrites in-progress typing on auth refresh by @sergeymosyakov in #66
  • Widget: isolate auth from the app, notify via events not a page toast by @sergeymosyakov in #67

Full Changelog: widget-v1.0.12...widget-v1.0.13

QuestionnaireRenderer widget 1.0.12

Choose a tag to compare

@github-actions github-actions released this 23 Aug 17:52
45a85b9

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

  • feat(itemControl): atable answer-table rendering for radio/checklist by @sergeymosyakov in #44
  • fix(nuget): resolve NU5030 by staging LICENSE inside project dir by @sergeymosyakov in #45
  • chore(skills): add security-review and github-actions-hardening skills by @sergeymosyakov in #46
  • fix(answer-type): label controls by FHIR type + visualization by @sergeymosyakov in #48

Full Changelog: widget-v1.0.11...widget-v1.0.12

QuestionnaireRenderer widget 1.0.11

Choose a tag to compare

@github-actions github-actions released this 22 Aug 18:52
2024dda

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

  • feat(terminology): DI-friendly TerminologyService; wire expandAll into the widget by @sergeymosyakov in #42

Full Changelog: widget-v1.0.10...widget-v1.0.11

QuestionnaireRenderer widget 1.0.9

Choose a tag to compare

@github-actions github-actions released this 21 Aug 16:08
2ea5a88

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

  • fix: architecture/docs/CSS audit cleanup by @sergeymosyakov in #35
  • feat(expr-builder): visualize grouped arithmetic with a trailing round()/abs()/etc wrapper by @sergeymosyakov in #37
  • chore(release): switch npm publish to Trusted Publishing (OIDC) by @sergeymosyakov in #38

Full Changelog: widget-v1.0.8...widget-v1.0.9

QuestionnaireRenderer widget 1.0.10

Choose a tag to compare

@github-actions github-actions released this 21 Aug 19:30

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

Full Changelog: widget-v1.0.9...widget-v1.0.10

QuestionnaireRenderer widget 1.0.8

Choose a tag to compare

@github-actions github-actions released this 20 Aug 21:11
dc83628

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

  • fix(preview): font-size inherit, control widths 400px, badge alignment, dropdown font/width, ref-id margin by @sergeymosyakov in #33

Full Changelog: widget-v1.0.7...widget-v1.0.8

QuestionnaireRenderer widget 1.0.7

Choose a tag to compare

@github-actions github-actions released this 20 Aug 17:55
6592cf7

Embeddable FHIR R4 QuestionnaireRenderer — the builder's right-side runtime as a self-contained, in-page, multi-instance widget. No builder shell, no iframe, no framework.

Assets

File Use
questionnaire-widget.js ES module (import) — recommended
questionnaire-widget.global.js Classic <script> global (window.FhirQuestionnaireWidget)
questionnaire-widget.css Widget styles (always include)
SHA256SUMS.txt Verify your download: sha256sum -c SHA256SUMS.txt

Quick start

<link rel="stylesheet" href="questionnaire-widget.css">
<div id="form"></div>
<script type="module">
  import { QuestionnaireRenderer } from './questionnaire-widget.js';
  const questionnaire = await (await fetch('my-questionnaire.json')).json();
  const widget = new QuestionnaireRenderer(document.getElementById('form'), {
    questionnaire, config: { previewMode: 'patient', validation: true },
  });
  document.querySelector('#save').onclick = () => save(widget.getResponse());
</script>

Full guide: WIDGET.md · Live demo: fhirbuilder.com/widget-demo.html

What's Changed

Full Changelog: widget-v1.0.6...widget-v1.0.7