Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

move calculators to async thunk #470

Merged
merged 4 commits into from
Mar 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 17.2.2-beta01

- fixed bug by moving the logic for the calculators into a action creator

## 17.2.1

- Fixed a bug with standard table where the headervalue did not represent the correct value from the choice input elements
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@helsenorge/refero",
"version": "17.2.1",
"version": "17.2.2-beta01",
"description": "Refero is a library that uses a fhir r4 schema and creates a interactive form using helsenorge packages.",
"keywords": [
"react",
Expand Down
279 changes: 224 additions & 55 deletions preview/skjema/q.json
Original file line number Diff line number Diff line change
@@ -1,58 +1,33 @@
{
"resourceType": "Questionnaire",
"language": "nb-NO",
"id": "4171d6c9-43ee-4f2b-863b-2080beacd382",
"name": "Date_day_unit_tests",
"title": "Tittel",
"id": "3981d77d-f69f-4c9c-85cd-8b07b05d93d2",
"name": "NHN_Test_Scoore_Calculation",
"title": "Test kopi og regning på score",
"version": "0.1",
"status": "draft",
"publisher": "NHN",
"meta": {
"profile": ["http://ehelse.no/fhir/StructureDefinition/sdf-Questionnaire"],
"tag": [
{
"system": "urn:ietf:bcp:47",
"code": "nb-NO",
"display": "Bokmål"
}
],
"security": [
{
"code": "3",
"display": "Helsehjelp (Full)",
"system": "urn:oid:2.16.578.1.12.4.1.1.7618"
}
]
"tag": [{ "system": "urn:ietf:bcp:47", "code": "nb-NO", "display": "Bokmål" }],
"security": [{ "code": "3", "display": "Helsehjelp (Full)", "system": "urn:oid:2.16.578.1.12.4.1.1.7618" }]
},
"contact": [
{
"name": "http://www.nhn.no"
}
],
"contact": [{ "name": "http://www.nhn.no" }],
"subjectType": ["Patient"],
"extension": [
{
"url": "http://helsenorge.no/fhir/StructureDefinition/sdf-sidebar",
"valueCoding": {
"system": "http://helsenorge.no/fhir/ValueSet/sdf-sidebar",
"code": "1"
}
"valueCoding": { "system": "http://helsenorge.no/fhir/ValueSet/sdf-sidebar", "code": "1" }
},
{
"url": "http://helsenorge.no/fhir/StructureDefinition/sdf-information-message",
"valueCoding": {
"system": "http://helsenorge.no/fhir/ValueSet/sdf-information-message",
"code": "1"
}
"valueCoding": { "system": "http://helsenorge.no/fhir/ValueSet/sdf-information-message", "code": "1" }
},
{
"url": "http://helsenorge.no/fhir/StructureDefintion/sdf-itemControl-visibility",
"valueCodeableConcept": {
"coding": [
{
"system": "http://helsenorge.no/fhir/CodeSystem/AttachmentRenderOptions",
"code": "hide-help",
"display": "Hide help texts"
},
{ "system": "http://helsenorge.no/fhir/CodeSystem/AttachmentRenderOptions", "code": "hide-help", "display": "Hide help texts" },
{
"system": "http://helsenorge.no/fhir/CodeSystem/AttachmentRenderOptions",
"code": "hide-sublabel",
Expand All @@ -62,37 +37,231 @@
}
}
],
"date": "2025-03-05T00:00:00+01:00",
"item": [
{
"linkId": "71d92d62-cad3-445b-848d-4efd281078d3",
"type": "date",
"linkId": "0701f3cf-73f5-48f7-8317-24c1223264a8",
"type": "group",
"text": "Input scoring and calculation and copying of scoringvalue",
"required": false,
"item": [
{
"linkId": "466b2d0d-ad4f-4ce5-83f5-62b39db28593",
"type": "text",
"linkId": "verdi1",
"type": "choice",
"text": "Verdi 1",
"code": [
{ "system": "http://ehelse.no/Score", "code": "score", "display": "score" },
{ "system": "http://ehelse.no/scoringFormulas", "code": "QS", "display": "Question score" }
],
"required": false,
"repeats": false,
"readOnly": true,
"maxLength": 250,
"_text": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/rendering-markdown",
"valueMarkdown": "Help text"
"answerOption": [
{
"valueCoding": {
"id": "96651f43-5ac1-4b87-83b8-49879c32daa6",
"code": "100",
"system": "urn:uuid:5ca4194b-32df-409e-81e5-8d4d0c600ee3",
"display": "Ja",
"extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/ordinalValue", "valueDecimal": 100 }]
}
]
},
},
{
"valueCoding": {
"id": "049bb493-4ec3-4df8-855b-12be2307360b",
"code": "200",
"system": "urn:uuid:5ca4194b-32df-409e-81e5-8d4d0c600ee3",
"display": "Nei",
"extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/ordinalValue", "valueDecimal": 200 }]
}
}
]
},
{
"linkId": "verdi2",
"type": "choice",
"text": "Verdi 2",
"code": [
{ "system": "http://ehelse.no/Score", "code": "score", "display": "score" },
{ "system": "http://ehelse.no/scoringFormulas", "code": "QS", "display": "Question score" }
],
"required": false,
"answerOption": [
{
"valueCoding": {
"id": "96651f43-5ac1-4b87-83b8-49879c32daa6",
"code": "100",
"system": "urn:uuid:5ca4194b-32df-409e-81e5-8d4d0c600ee3",
"display": "Ja",
"extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/ordinalValue", "valueDecimal": 100 }]
}
},
{
"valueCoding": {
"id": "049bb493-4ec3-4df8-855b-12be2307360b",
"code": "200",
"system": "urn:uuid:5ca4194b-32df-409e-81e5-8d4d0c600ee3",
"display": "Nei",
"extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/ordinalValue", "valueDecimal": 200 }]
}
}
]
},
{
"linkId": "verdi3",
"type": "choice",
"text": "Verdi 3",
"code": [
{ "system": "http://ehelse.no/Score", "code": "score", "display": "score" },
{ "system": "http://ehelse.no/scoringFormulas", "code": "QS", "display": "Question score" }
],
"required": false,
"answerOption": [
{
"valueCoding": {
"id": "96651f43-5ac1-4b87-83b8-49879c32daa6",
"code": "100",
"system": "urn:uuid:5ca4194b-32df-409e-81e5-8d4d0c600ee3",
"display": "Ja",
"extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/ordinalValue", "valueDecimal": 100 }]
}
},
{
"valueCoding": {
"id": "049bb493-4ec3-4df8-855b-12be2307360b",
"code": "200",
"system": "urn:uuid:5ca4194b-32df-409e-81e5-8d4d0c600ee3",
"display": "Nei",
"extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/ordinalValue", "valueDecimal": 200 }]
}
}
]
},
{
"linkId": "verdi4",
"type": "choice",
"text": "Verdi 4",
"code": [
{ "system": "http://ehelse.no/Score", "code": "score", "display": "score" },
{ "system": "http://ehelse.no/scoringFormulas", "code": "QS", "display": "Question score" }
],
"required": false,
"answerOption": [
{
"valueCoding": {
"id": "96651f43-5ac1-4b87-83b8-49879c32daa6",
"code": "100",
"system": "urn:uuid:5ca4194b-32df-409e-81e5-8d4d0c600ee3",
"display": "Ja",
"extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/ordinalValue", "valueDecimal": 100 }]
}
},
{
"valueCoding": {
"id": "049bb493-4ec3-4df8-855b-12be2307360b",
"code": "200",
"system": "urn:uuid:5ca4194b-32df-409e-81e5-8d4d0c600ee3",
"display": "Nei",
"extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/ordinalValue", "valueDecimal": 200 }]
}
}
]
},
{
"linkId": "Delsum",
"type": "integer",
"text": "Delsum",
"code": [
{ "system": "http://ehelse.no/Score", "code": "score", "display": "score" },
{ "system": "http://ehelse.no/scoringFormulas", "code": "SS", "display": "Section score" }
],
"required": false,
"readOnly": true
},
{
"linkId": "Totalsum",
"type": "integer",
"text": "Totalsum",
"code": [
{ "system": "http://ehelse.no/Score", "code": "score", "display": "score" },
{ "system": "http://ehelse.no/scoringFormulas", "code": "TS", "display": "Total score" }
],
"required": false,
"readOnly": true
},
{
"linkId": "aritmetisk_gjennomsnitt",
"type": "integer",
"text": "Aritmetisk gjennomsnitt basert på totalsum.",
"required": false,
"extension": [
{
"url": "http://ehelse.no/fhir/StructureDefinition/sdf-calculatedExpression",
"valueString": "QuestionnaireResponse.descendants().where(linkId='Totalsum').answer.value / 4"
}
],
"readOnly": true
},
{
"linkId": "kopiert_felt",
"type": "integer",
"text": "Kopi",
"required": false,
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl",
"valueCodeableConcept": {
"coding": [
{
"system": "http://hl7.org/fhir/ValueSet/questionnaire-item-control",
"code": "help"
}
]
"coding": [{ "system": "http://hl7.org/fhir/ValueSet/questionnaire-item-control", "code": "data-receiver" }]
}
},
{
"url": "http://hl7.org/fhir/StructureDefinition/cqf-expression",
"valueString": "QuestionnaireResponse.descendants().where(linkId='Totalsum').answer.value"
}
],
"readOnly": true,
"enableWhen": [{ "answerBoolean": true, "question": "Totalsum", "operator": "exists" }]
},
{
"linkId": "aritmetisk_gjennomsnitt_kopi",
"type": "integer",
"text": "Aritmetisk gjennomsnitt basert på kopiert felt",
"required": false,
"extension": [
{
"url": "http://ehelse.no/fhir/StructureDefinition/sdf-calculatedExpression",
"valueString": "QuestionnaireResponse.descendants().where(linkId='kopiert_felt').answer.value / 4"
}
],
"readOnly": true
}
]
},
{
"linkId": "498140b3-7c26-4492-dea5-24c829552347",
"type": "group",
"item": [
{ "linkId": "Tall1", "type": "integer", "text": "Tall 1", "required": false },
{ "linkId": "Tall2", "type": "integer", "text": "Tall 2", "required": false },
{
"linkId": "Sum",
"type": "integer",
"text": "Sum",
"required": false,
"extension": [
{
"url": "http://ehelse.no/fhir/StructureDefinition/sdf-calculatedExpression",
"valueString": "QuestionnaireResponse.descendants().where(linkId='Tall1').answer.value + QuestionnaireResponse.descendants().where(linkId='Tall2').answer.value"
}
]
},
{
"linkId": "Gjennomsnitt",
"type": "integer",
"text": "Gjennomsnitt",
"required": false,
"extension": [
{
"url": "http://ehelse.no/fhir/StructureDefinition/sdf-calculatedExpression",
"valueString": "QuestionnaireResponse.descendants().where(linkId='Sum').answer.value / 2"
}
]
}
Expand Down
Loading
Loading