Beispiele

Beispiel: Bedingte Items

Metadaten

NameExampleConditionalItem
URLhttps://gematik.de/fhir/isik/Questionnaire/ExampleConditionalItem
Beschreibung

Beispiel-Questionnaire mit bedingten Fragestellungen/Items

Die zweite Frage "Was ist denn los?" soll nur gestellt werden, wenn die erste Frage "Wie geht's" mit "muss." beantwortet wurde.

Gerendertes Formular

Globale Extensions

IDTextTypeOptionsEnableWhen
2Fragen mit EnableWhen-Bedingunggroup
2.1Wie geht's?choice
Display
gut.
geht.
muss.
2.2Was ist denn los?choice
Display
Nix.
Frag nicht!
QuestionOperatorAnswer
2.1=muss.

Quellcode

<Questionnaire xmlns="http://hl7.org/fhir">
<id value="ExampleConditionalItem" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition" />
</meta>
<url value="https://gematik.de/fhir/isik/Questionnaire/ExampleConditionalItem" />
<version value="0.1.0" />
<name value="ExampleConditionalItem" />
<title value="Bedingte Fragestellungen" />
<status value="draft" />
<experimental value="false" />
<subjectType value="Patient" />
<publisher value="Gematik GmbH" />
<description value="### Beispiel-Questionnaire mit bedingten Fragestellungen/Items \nDie zweite Frage &quot;Was ist denn los?&quot; soll nur gestellt werden, \nwenn die erste Frage &quot;Wie geht's&quot; mit &quot;muss.&quot; beantwortet wurde." />
<linkId value="2" />
<text value="Fragen mit EnableWhen-Bedingung" />
<type value="group" />
<linkId value="2.1" />
<text value="Wie geht's?" />
<type value="choice" />
<display value="gut." />
</valueCoding>
</answerOption>
<display value="geht." />
</valueCoding>
</answerOption>
<display value="muss." />
</valueCoding>
</answerOption>
</item>
<linkId value="2.2" />
<text value="Was ist denn los?" />
<type value="choice" />
<question value="2.1" />
<operator value="=" />
<display value="muss." />
</answerCoding>
</enableWhen>
<display value="Nix." />
</valueCoding>
</answerOption>
<display value="Frag nicht!" />
</valueCoding>
</answerOption>
</item>
</item>
</Questionnaire>
{
"resourceType": "Questionnaire",
"id": "ExampleConditionalItem",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition"
]
},
"url": "https://gematik.de/fhir/isik/Questionnaire/ExampleConditionalItem",
"version": "0.1.0",
"name": "ExampleConditionalItem",
"title": "Bedingte Fragestellungen",
"status": "draft",
"experimental": false,
"Patient"
],
"publisher": "Gematik GmbH",
"description": "### Beispiel-Questionnaire mit bedingten Fragestellungen/Items \nDie zweite Frage &quot;Was ist denn los?&quot; soll nur gestellt werden, \nwenn die erste Frage &quot;Wie geht's&quot; mit &quot;muss.&quot; beantwortet wurde.",
"item": [
{
"linkId": "2",
"text": "Fragen mit EnableWhen-Bedingung",
"type": "group",
"item": [
{
"linkId": "2.1",
"text": "Wie geht's?",
"type": "choice",
{
"display": "gut."
}
},
{
"display": "geht."
}
},
{
"display": "muss."
}
}
]
},
{
"linkId": "2.2",
"text": "Was ist denn los?",
"type": "choice",
{
"question": "2.1",
"operator": "=",
"display": "muss."
}
}
],
{
"display": "Nix."
}
},
{
"display": "Frag nicht!"
}
}
]
}
]
}
]
}

Beispiel: Observation-basierte Prepopulation und Extraction

Metadaten

NameExamplePrePopObservation
URLhttps://gematik.de/fhir/isik/Questionnaire/ExamplePrePopObservation
Beschreibung

Beispiel-Questionnaire mit automatischer Vorbelegung von Observations

Die Suche nach passenden Observations geschieht innerhlab des Patienten-Kontextes anhand des in item-codehinterlegten Codes. Die Extension SDC-ObservationLinkPeriod legt fest, wie alt Observations maximal sein dürfen, um für die Vorbelegung herangezogen zu werden (hier: max. 1 Jahr)
Die Extension SDC-ObservationExtract legt fest, ob aus den Angaben des Questionnaires eine neue Observation extrahiert werden soll (hier: true)

Gerendertes Formular

Zur korrekten Darstellung dieses Beispiels wird eine externe Anfrage in Richtung des offiziellen HL7 Deutschland e.V. FHIR-Server (https://fhir.hl7.de/fhir) gestellt. Falls dort keine passende Observation mehr liegen sollte, scheitert die Prepopulation. Wenden Sie sich in diesem Fall bitte an das ISiK Team.

Globale Extensions

Name

sdc-questionnaire-launchContext

Subextensions
URLWert
namepatient
typePatient
descriptionPatientenkontext

Item-Definitionen

IDTextTypeCodeOptionsExtractionLinkPeriod
3Pflegegradgroup
3.1Bitte geben Sie den Pflegegrad an:choicehttp://loinc.org, 80391-6

#pflegegrad-de

True
WertEinheit
1a

Quellcode

<Questionnaire xmlns="http://hl7.org/fhir">
<id value="ExamplePrePopObservation" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition" />
</meta>
<ValueSet>
<id value="pflegegrad-de" />
<profile value="http://hl7.org/fhir/StructureDefinition/shareablevalueset" />
</meta>
<url value="http://fhir.de/ValueSet/pflegegrad-de" />
<version value="1.5.4" />
<name value="PflegegradDE" />
<title value="PflegegradDE ValueSet" />
<status value="active" />
<experimental value="false" />
<date value="2025-06-16" />
<publisher value="HL7 Deutschland e.V. (Technisches Komitee FHIR)" />
<system value="url" />
<value value="http://hl7.de/technische-komitees/fhir/" />
</telecom>
</contact>
<description value="Codes zur genaueren Differenzierung des Pflegegrads." />
<system value="http://fhir.de/CodeSystem/bfarm/ops" />
<property value="parent" />
<op value="=" />
<value value="9-984" />
</filter>
</include>
</compose>
<identifier value="440c50b5-7272-4184-9ddd-95a75d8207f8" />
<timestamp value="2019-07-06" />
<total value="6" />
<system value="http://fhir.de/CodeSystem/bfarm/ops" />
<code value="9-984.6" />
<display value="Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 1" />
</contains>
<system value="http://fhir.de/CodeSystem/bfarm/ops" />
<code value="9-984.7" />
<display value="Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 2" />
</contains>
<system value="http://fhir.de/CodeSystem/bfarm/ops" />
<code value="9-984.8" />
<display value="Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 3" />
</contains>
<system value="http://fhir.de/CodeSystem/bfarm/ops" />
<code value="9-984.9" />
<display value="Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 4" />
</contains>
<system value="http://fhir.de/CodeSystem/bfarm/ops" />
<code value="9-984.a" />
<display value="Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 5" />
</contains>
<system value="http://fhir.de/CodeSystem/bfarm/ops" />
<code value="9-984.b" />
<display value="Pflegebedürftigkeit: Erfolgter Antrag auf Einstufung in einen Pflegegrad" />
</contains>
</expansion>
</ValueSet>
</contained>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext">
<extension url="name">
<system value="http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" />
<code value="patient" />
</valueCoding>
</extension>
<extension url="type">
<valueCode value="Patient" />
</extension>
<extension url="description">
<valueString value="Patientenkontext" />
</extension>
</extension>
<url value="https://gematik.de/fhir/isik/Questionnaire/ExamplePrePopObservation" />
<version value="0.1.0" />
<name value="ExamplePrePopObservation" />
<title value="Vorbelegung von Observations" />
<status value="draft" />
<experimental value="false" />
<subjectType value="Patient" />
<publisher value="Gematik GmbH" />
<description value="### Beispiel-Questionnaire mit automatischer Vorbelegung von Observations \nDie Suche nach passenden Observations geschieht innerhlab des Patienten-Kontextes anhand des in `item-code`hinterlegten Codes.\nDie Extension [SDC-ObservationLinkPeriod](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-observationLinkPeriod.html) legt fest, wie alt Observations maximal sein dürfen, um für die Vorbelegung herangezogen zu werden (hier: max. 1 Jahr) \nDie Extension [SDC-ObservationExtract](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-observationExtract.html) legt fest, ob aus den Angaben des Questionnaires eine neue Observation extrahiert werden soll (hier: true)" />
<linkId value="3" />
<text value="Pflegegrad" />
<type value="group" />
<required value="true" />
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod">
<value value="1" />
<system value="http://unitsofmeasure.org" />
<code value="a" />
</valueDuration>
</extension>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract">
<valueBoolean value="true" />
</extension>
<linkId value="3.1" />
<system value="http://loinc.org" />
<code value="80391-6" />
</code>
<text value="Bitte geben Sie den Pflegegrad an:" />
<type value="choice" />
<answerValueSet value="#pflegegrad-de" />
</item>
</item>
</Questionnaire>
{
"resourceType": "Questionnaire",
"id": "ExamplePrePopObservation",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition"
]
},
{
"resourceType": "ValueSet",
"id": "pflegegrad-de",
"meta": {
"profile": [
"http://hl7.org/fhir/StructureDefinition/shareablevalueset"
]
},
"url": "http://fhir.de/ValueSet/pflegegrad-de",
"version": "1.5.4",
"name": "PflegegradDE",
"title": "PflegegradDE ValueSet",
"status": "active",
"experimental": false,
"date": "2025-06-16",
"publisher": "HL7 Deutschland e.V. (Technisches Komitee FHIR)",
"contact": [
{
"telecom": [
{
"system": "url",
"value": "http://hl7.de/technische-komitees/fhir/"
}
]
}
],
"description": "Codes zur genaueren Differenzierung des Pflegegrads.",
"compose": {
"include": [
{
"system": "http://fhir.de/CodeSystem/bfarm/ops",
"filter": [
{
"property": "parent",
"op": "=",
"value": "9-984"
}
]
}
]
},
"identifier": "440c50b5-7272-4184-9ddd-95a75d8207f8",
"timestamp": "2019-07-06",
"total": 6,
{
"system": "http://fhir.de/CodeSystem/bfarm/ops",
"code": "9-984.6",
"display": "Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 1"
},
{
"system": "http://fhir.de/CodeSystem/bfarm/ops",
"code": "9-984.7",
"display": "Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 2"
},
{
"system": "http://fhir.de/CodeSystem/bfarm/ops",
"code": "9-984.8",
"display": "Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 3"
},
{
"system": "http://fhir.de/CodeSystem/bfarm/ops",
"code": "9-984.9",
"display": "Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 4"
},
{
"system": "http://fhir.de/CodeSystem/bfarm/ops",
"code": "9-984.a",
"display": "Pflegebedürftigkeit: Pflegebedürftig nach Pflegegrad 5"
},
{
"system": "http://fhir.de/CodeSystem/bfarm/ops",
"code": "9-984.b",
"display": "Pflegebedürftigkeit: Erfolgter Antrag auf Einstufung in einen Pflegegrad"
}
]
}
}
],
{
{
"url": "name",
"system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext",
"code": "patient"
}
},
{
"url": "type",
"valueCode": "Patient"
},
{
"url": "description",
"valueString": "Patientenkontext"
}
],
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext"
}
],
"url": "https://gematik.de/fhir/isik/Questionnaire/ExamplePrePopObservation",
"version": "0.1.0",
"name": "ExamplePrePopObservation",
"title": "Vorbelegung von Observations",
"status": "draft",
"experimental": false,
"Patient"
],
"publisher": "Gematik GmbH",
"description": "### Beispiel-Questionnaire mit automatischer Vorbelegung von Observations \nDie Suche nach passenden Observations geschieht innerhlab des Patienten-Kontextes anhand des in `item-code`hinterlegten Codes.\nDie Extension [SDC-ObservationLinkPeriod](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-observationLinkPeriod.html) legt fest, wie alt Observations maximal sein dürfen, um für die Vorbelegung herangezogen zu werden (hier: max. 1 Jahr) \nDie Extension [SDC-ObservationExtract](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-observationExtract.html) legt fest, ob aus den Angaben des Questionnaires eine neue Observation extrahiert werden soll (hier: true)",
"item": [
{
"linkId": "3",
"text": "Pflegegrad",
"type": "group",
"required": true,
"item": [
{
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod",
"value": 1,
"system": "http://unitsofmeasure.org",
"code": "a"
}
},
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract",
"valueBoolean": true
}
],
"linkId": "3.1",
"code": [
{
"system": "http://loinc.org",
"code": "80391-6"
}
],
"text": "Bitte geben Sie den Pflegegrad an:",
"type": "choice",
"answerValueSet": "#pflegegrad-de"
}
]
}
]
}

Beispiel: Stammdaten Prepopulation

Metadaten

NameExamplePrePopDemo
URLhttps://gematik.de/fhir/isik/Questionnaire/ExamplePrePopDemo
Beschreibung

Beispiel-Questionnaire mit automatischer Vorbelegung von demografischen Patientendaten

Der Patientenkontext wird mittels der SDC-LaunchContexts-Extension hergestellt.
Die Vorbelegung erfolgt über die SDC-InitialExpression-Extension

Gerendertes Formular

Globale Extensions

Name

sdc-questionnaire-launchContext

Subextensions
URLWert
namepatient
typePatient
descriptionPatientenkontext

Item-Definitionen

IDTextTypeInitialExpression
1Demografische Patientendatengroup
1.1Vorname:string
SpracheExpressionBeschreibung
text/fhirpath(%patient.name.where(use = 'official').given[0] | %patient.name[0].given[0]).first()Selektion des ersten Vornamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name
1.2Nachname:string
SpracheExpressionBeschreibung
text/fhirpath(%patient.name.where(use = 'official').family | %patient.name[0].family).first()Selektion des Nachnamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name
1.4Versichertennummer:string
SpracheExpressionBeschreibung
text/fhirpath%patient.identifier.where(system='http://fhir.de/sid/gkv/kvid-10').valueVersichertennnummer(KVID) des Patienten

Quellcode

<Questionnaire xmlns="http://hl7.org/fhir">
<id value="ExamplePrePopDemo" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition" />
</meta>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext">
<extension url="name">
<system value="http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" />
<code value="patient" />
</valueCoding>
</extension>
<extension url="type">
<valueCode value="Patient" />
</extension>
<extension url="description">
<valueString value="Patientenkontext" />
</extension>
</extension>
<url value="https://gematik.de/fhir/isik/Questionnaire/ExamplePrePopDemo" />
<version value="0.1.0" />
<name value="ExamplePrePopDemo" />
<title value="Vorbelegung Demografischer Daten" />
<status value="draft" />
<experimental value="false" />
<subjectType value="Patient" />
<publisher value="Gematik GmbH" />
<description value="### Beispiel-Questionnaire mit automatischer Vorbelegung von demografischen Patientendaten \nDer Patientenkontext wird mittels der [SDC-LaunchContexts](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-launchContext.html)-Extension hergestellt. \nDie Vorbelegung erfolgt über die [SDC-InitialExpression](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-initialExpression.html)-Extension" />
<linkId value="1" />
<text value="Demografische Patientendaten" />
<type value="group" />
<required value="true" />
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression">
<description value="Selektion des ersten Vornamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name" />
<language value="text/fhirpath" />
<expression value="(%patient.name.where(use = 'official').given[0] | %patient.name[0].given[0]).first()" />
</valueExpression>
</extension>
<linkId value="1.1" />
<text value="Vorname:" />
<type value="string" />
</item>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression">
<description value="Selektion des Nachnamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name" />
<language value="text/fhirpath" />
<expression value="(%patient.name.where(use = 'official').family | %patient.name[0].family).first()" />
</valueExpression>
</extension>
<linkId value="1.2" />
<text value="Nachname:" />
<type value="string" />
</item>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression">
<description value="Versichertennnummer(KVID) des Patienten" />
<language value="text/fhirpath" />
<expression value="%patient.identifier.where(system='http://fhir.de/sid/gkv/kvid-10').value" />
</valueExpression>
</extension>
<linkId value="1.4" />
<text value="Versichertennummer:" />
<type value="string" />
</item>
</item>
</Questionnaire>
{
"resourceType": "Questionnaire",
"id": "ExamplePrePopDemo",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition"
]
},
{
{
"url": "name",
"system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext",
"code": "patient"
}
},
{
"url": "type",
"valueCode": "Patient"
},
{
"url": "description",
"valueString": "Patientenkontext"
}
],
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext"
}
],
"url": "https://gematik.de/fhir/isik/Questionnaire/ExamplePrePopDemo",
"version": "0.1.0",
"name": "ExamplePrePopDemo",
"title": "Vorbelegung Demografischer Daten",
"status": "draft",
"experimental": false,
"Patient"
],
"publisher": "Gematik GmbH",
"description": "### Beispiel-Questionnaire mit automatischer Vorbelegung von demografischen Patientendaten \nDer Patientenkontext wird mittels der [SDC-LaunchContexts](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-launchContext.html)-Extension hergestellt. \nDie Vorbelegung erfolgt über die [SDC-InitialExpression](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-initialExpression.html)-Extension",
"item": [
{
"linkId": "1",
"text": "Demografische Patientendaten",
"type": "group",
"required": true,
"item": [
{
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
"description": "Selektion des ersten Vornamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name",
"language": "text/fhirpath",
"expression": "(%patient.name.where(use = 'official').given[0] | %patient.name[0].given[0]).first()"
}
}
],
"linkId": "1.1",
"text": "Vorname:",
"type": "string"
},
{
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
"description": "Selektion des Nachnamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name",
"language": "text/fhirpath",
"expression": "(%patient.name.where(use = 'official').family | %patient.name[0].family).first()"
}
}
],
"linkId": "1.2",
"text": "Nachname:",
"type": "string"
},
{
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
"description": "Versichertennnummer(KVID) des Patienten",
"language": "text/fhirpath",
"expression": "%patient.identifier.where(system='http://fhir.de/sid/gkv/kvid-10').value"
}
}
],
"linkId": "1.4",
"text": "Versichertennummer:",
"type": "string"
}
]
}
]
}

Beispiel: Observation-basierte Extraction bei quantitativen Angaben

Metadaten

NameExampleExtractWithUnit
URLhttps://gematik.de/fhir/isik/Questionnaire/ExampleExtractWithUnit
Beschreibung

Beispiel-Questionnaire mit Observation Based Extraction von Dezimalwerten mit Maßeinheiten

Gerendertes Formular

Beim Klicken auf "Zeige QR + Observations" werden Sie auf eine externe Seite weitergeleitet, auf der die durch Sie in der Demo eingegebenen Werte als QuestionnaireResonse und extragierte Observations dargestellt werden.

Globale Extensions

IDTextTypeSubextensions
4Körpermaßegroup
4.1Körpergewicht in kgdecimal
URLWert
http://hl7.org/fhir/StructureDefinition/questionnaire-unitkg
http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtractTrue
http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-categorySystem: http://terminology.hl7.org/CodeSystem/observation-category
Code: vital-signs
4.2Körpergröße in cmdecimal
URLWert
http://hl7.org/fhir/StructureDefinition/questionnaire-unitcm
http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtractTrue
http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-categorySystem: http://terminology.hl7.org/CodeSystem/observation-category
Code: vital-signs

Extrahierte Ressourcen

{
"resourceType": "QuestionnaireResponse",
"id": "ExampleExtractWithUnitResponse",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDaten"
]
},
"questionnaire": "https://gematik.de/fhir/isik/Questionnaire/ExampleExtractWithUnit",
{
"url": "http://hl7.org/fhir/StructureDefinition/display",
"valueString": "Validierung von Dezimalen"
}
]
},
"status": "completed",
"subject": {
"reference": "Patient/PatientinMinimal"
},
"authored": "2025-08-22",
"author": {
"reference": "Patient/PatientinMinimal"
},
"item": [
{
"linkId": "4",
"text": "Körpermaße",
"item": [
{
"linkId": "4.1",
"text": "Körpergewicht in kg",
"answer": [
{
}
]
},
{
"linkId": "4.2",
"text": "Körpergröße in cm",
"answer": [
{
}
]
}
]
}
]
}
{
"resourceType": "Observation",
"id": "ExtractedObservationKoerpergroesse",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKKoerpergroesse"
]
},
"status": "final",
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "vital-signs"
}
]
}
],
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "8302-2"
}
]
},
"subject": {
"reference": "Patient/PatientinMinimal"
},
"effectiveDateTime": "2025-08-22",
"value": 166,
"unit": "cm",
"system": "http://unitsofmeasure.org",
"code": "cm"
},
{
"reference": "QuestionnaireResponse/ExampleExtractWithUnitResponse"
}
]
}
{
"resourceType": "Observation",
"id": "ExtractedObservationKoerpergewicht",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKKoerpergewicht"
]
},
"status": "final",
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "vital-signs"
}
]
}
],
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "29463-7"
}
]
},
"subject": {
"reference": "Patient/PatientinMinimal"
},
"effectiveDateTime": "2025-08-22",
"value": 166,
"unit": "kg",
"system": "http://unitsofmeasure.org",
"code": "kg"
},
{
"reference": "QuestionnaireResponse/ExampleExtractWithUnitResponse"
}
]
}

Quellcode

<Questionnaire xmlns="http://hl7.org/fhir">
<id value="ExampleExtractWithUnit" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition" />
</meta>
<url value="https://gematik.de/fhir/isik/Questionnaire/ExampleExtractWithUnit" />
<version value="0.1.0" />
<name value="ExampleExtractWithUnit" />
<title value="Observation Based Extraction bei quantitativen Angaben" />
<status value="draft" />
<experimental value="false" />
<subjectType value="Patient" />
<publisher value="Gematik GmbH" />
<description value="### Beispiel-Questionnaire mit Observation Based Extraction von Dezimalwerten mit Maßeinheiten \n * Vorgabe der anzugebenden Maßeinheit mittels [questionnaire-unit](https://hl7.org/fhir/R4/extension-questionnaire-unit.html)-Extension\n * Annotation zur Extraktion mittels [observationExtract](http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract)\n * Annotation zum Setzen der category bei Extraktion mittels [observationExtractCategory](http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract-category)" />
<linkId value="4" />
<text value="Körpermaße" />
<type value="group" />
<required value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/questionnaire-unit">
<system value="http://unitsofmeasure.org" />
<code value="kg" />
</valueCoding>
</extension>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category">
<system value="http://terminology.hl7.org/CodeSystem/observation-category" />
<code value="vital-signs" />
</coding>
</valueCodeableConcept>
</extension>
<linkId value="4.1" />
<system value="http://loinc.org" />
<code value="29463-7" />
</code>
<text value="Körpergewicht in kg" />
<type value="decimal" />
</item>
<extension url="http://hl7.org/fhir/StructureDefinition/questionnaire-unit">
<system value="http://unitsofmeasure.org" />
<code value="cm" />
</valueCoding>
</extension>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category">
<system value="http://terminology.hl7.org/CodeSystem/observation-category" />
<code value="vital-signs" />
</coding>
</valueCodeableConcept>
</extension>
<linkId value="4.2" />
<system value="http://loinc.org" />
<code value="8302-2" />
</code>
<text value="Körpergröße in cm" />
<type value="decimal" />
</item>
</item>
</Questionnaire>
{
"resourceType": "Questionnaire",
"id": "ExampleExtractWithUnit",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition"
]
},
"url": "https://gematik.de/fhir/isik/Questionnaire/ExampleExtractWithUnit",
"version": "0.1.0",
"name": "ExampleExtractWithUnit",
"title": "Observation Based Extraction bei quantitativen Angaben",
"status": "draft",
"experimental": false,
"Patient"
],
"publisher": "Gematik GmbH",
"description": "### Beispiel-Questionnaire mit Observation Based Extraction von Dezimalwerten mit Maßeinheiten \n * Vorgabe der anzugebenden Maßeinheit mittels [questionnaire-unit](https://hl7.org/fhir/R4/extension-questionnaire-unit.html)-Extension\n * Annotation zur Extraktion mittels [observationExtract](http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract)\n * Annotation zum Setzen der category bei Extraktion mittels [observationExtractCategory](http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract-category)",
"item": [
{
"linkId": "4",
"text": "Körpermaße",
"type": "group",
"required": false,
"item": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit",
"system": "http://unitsofmeasure.org",
"code": "kg"
}
},
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category",
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "vital-signs"
}
]
}
}
],
"linkId": "4.1",
"code": [
{
"system": "http://loinc.org",
"code": "29463-7"
}
],
"text": "Körpergewicht in kg",
"type": "decimal"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit",
"system": "http://unitsofmeasure.org",
"code": "cm"
}
},
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationExtract",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observation-extract-category",
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "vital-signs"
}
]
}
}
],
"linkId": "4.2",
"code": [
{
"system": "http://loinc.org",
"code": "8302-2"
}
],
"text": "Körpergröße in cm",
"type": "decimal"
}
]
}
]
}

Beispiel: Vorbelegung demografischer Patientendaten

Metadaten

NameExamplePrePopDemo
URLhttps://gematik.de/fhir/isik/Questionnaire/ExamplePrePopDemo
Beschreibung

Beispiel-Questionnaire mit automatischer Vorbelegung von demografischen Patientendaten

Der Patientenkontext wird mittels der SDC-LaunchContexts-Extension hergestellt.
Die Vorbelegung erfolgt über die SDC-InitialExpression-Extension

Gerendertes Formular

Globale Extensions

Name

sdc-questionnaire-launchContext

Subextensions
URLWert
namepatient
typePatient
descriptionPatientenkontext

Item-Definitionen

IDTextTypeVorbelegung
1Demografische Patientendatengroup
1.1Vorname:string
BeschreibungFHIRPATH
Selektion des ersten Vornamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name(%patient.name.where(use = 'official').given[0] | %patient.name[0].given[0]).first()
1.2Nachname:string
BeschreibungFHIRPATH
Selektion des Nachnamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name(%patient.name.where(use = 'official').family | %patient.name[0].family).first()
1.4Versichertennummer:string
BeschreibungFHIRPATH
Versichertennnummer(KVID) des Patienten%patient.identifier.where(system='http://fhir.de/sid/gkv/kvid-10').value

Quellcode

<Questionnaire xmlns="http://hl7.org/fhir">
<id value="ExamplePrePopDemo" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition" />
</meta>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext">
<extension url="name">
<system value="http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" />
<code value="patient" />
</valueCoding>
</extension>
<extension url="type">
<valueCode value="Patient" />
</extension>
<extension url="description">
<valueString value="Patientenkontext" />
</extension>
</extension>
<url value="https://gematik.de/fhir/isik/Questionnaire/ExamplePrePopDemo" />
<version value="0.1.0" />
<name value="ExamplePrePopDemo" />
<title value="Vorbelegung Demografischer Daten" />
<status value="draft" />
<experimental value="false" />
<subjectType value="Patient" />
<publisher value="Gematik GmbH" />
<description value="### Beispiel-Questionnaire mit automatischer Vorbelegung von demografischen Patientendaten \nDer Patientenkontext wird mittels der [SDC-LaunchContexts](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-launchContext.html)-Extension hergestellt. \nDie Vorbelegung erfolgt über die [SDC-InitialExpression](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-initialExpression.html)-Extension" />
<linkId value="1" />
<text value="Demografische Patientendaten" />
<type value="group" />
<required value="true" />
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression">
<description value="Selektion des ersten Vornamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name" />
<language value="text/fhirpath" />
<expression value="(%patient.name.where(use = 'official').given[0] | %patient.name[0].given[0]).first()" />
</valueExpression>
</extension>
<linkId value="1.1" />
<text value="Vorname:" />
<type value="string" />
</item>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression">
<description value="Selektion des Nachnamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name" />
<language value="text/fhirpath" />
<expression value="(%patient.name.where(use = 'official').family | %patient.name[0].family).first()" />
</valueExpression>
</extension>
<linkId value="1.2" />
<text value="Nachname:" />
<type value="string" />
</item>
<extension url="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression">
<description value="Versichertennnummer(KVID) des Patienten" />
<language value="text/fhirpath" />
<expression value="%patient.identifier.where(system='http://fhir.de/sid/gkv/kvid-10').value" />
</valueExpression>
</extension>
<linkId value="1.4" />
<text value="Versichertennummer:" />
<type value="string" />
</item>
</item>
</Questionnaire>
{
"resourceType": "Questionnaire",
"id": "ExamplePrePopDemo",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition"
]
},
{
{
"url": "name",
"system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext",
"code": "patient"
}
},
{
"url": "type",
"valueCode": "Patient"
},
{
"url": "description",
"valueString": "Patientenkontext"
}
],
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext"
}
],
"url": "https://gematik.de/fhir/isik/Questionnaire/ExamplePrePopDemo",
"version": "0.1.0",
"name": "ExamplePrePopDemo",
"title": "Vorbelegung Demografischer Daten",
"status": "draft",
"experimental": false,
"Patient"
],
"publisher": "Gematik GmbH",
"description": "### Beispiel-Questionnaire mit automatischer Vorbelegung von demografischen Patientendaten \nDer Patientenkontext wird mittels der [SDC-LaunchContexts](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-launchContext.html)-Extension hergestellt. \nDie Vorbelegung erfolgt über die [SDC-InitialExpression](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-initialExpression.html)-Extension",
"item": [
{
"linkId": "1",
"text": "Demografische Patientendaten",
"type": "group",
"required": true,
"item": [
{
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
"description": "Selektion des ersten Vornamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name",
"language": "text/fhirpath",
"expression": "(%patient.name.where(use = 'official').given[0] | %patient.name[0].given[0]).first()"
}
}
],
"linkId": "1.1",
"text": "Vorname:",
"type": "string"
},
{
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
"description": "Selektion des Nachnamens des Patienten. Präferiert aus dem offiziellem Namen, alternativ erster gefundener Name",
"language": "text/fhirpath",
"expression": "(%patient.name.where(use = 'official').family | %patient.name[0].family).first()"
}
}
],
"linkId": "1.2",
"text": "Nachname:",
"type": "string"
},
{
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
"description": "Versichertennnummer(KVID) des Patienten",
"language": "text/fhirpath",
"expression": "%patient.identifier.where(system='http://fhir.de/sid/gkv/kvid-10').value"
}
}
],
"linkId": "1.4",
"text": "Versichertennummer:",
"type": "string"
}
]
}
]
}

Questionnaire

Metadaten

NameExampleEntryValidationDecimal
URLhttps://gematik.de/fhir/isik/Questionnaire/ExampleEntryValidationDecimal
Beschreibung

Beispiel-Questionnaire Validierung von Dezimalwerten

Gerendertes Formular

Globale Extensions

Item-Definitionen

IDTextTypeValidierung
4Körpermaßegroup
4.1Körpergewicht in kg (muss zwischen 20 und 300kg liegen)decimal
ExtensionWert

questionnaire-unit

kg

maxValue

300

minValue

20

maxDecimalPlaces

1
4.2Körpergröße in m (muss zwischen 1m und 2.50m liegen)decimal
ExtensionWert

questionnaire-unit

m

entryFormat

x.xx

maxValue

2.5

minValue

1

maxDecimalPlaces

3

Quellcode

<Questionnaire xmlns="http://hl7.org/fhir">
<id value="ExampleEntryValidationDecimal" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition" />
</meta>
<url value="https://gematik.de/fhir/isik/Questionnaire/ExampleEntryValidationDecimal" />
<version value="0.1.0" />
<name value="ExampleEntryValidationDecimal" />
<title value="Validierung von Dezimalen" />
<status value="draft" />
<experimental value="false" />
<subjectType value="Patient" />
<publisher value="Gematik GmbH" />
<description value="### Beispiel-Questionnaire Validierung von Dezimalwerten \n* Vorgabe des Eingabeformates mittels [entryFormat](https://hl7.org/fhir/R4/extension-entryformat.html)-Extension\n* Limitierung der Dezimalstellen mittels [maxDecimalPlaces](https://hl7.org/fhir/R4/extension-maxdecimalplaces.html)-Extension\n* Limitierung des Wertebereiches mittels [minValue](https://hl7.org/fhir/R4/extension-minvalue.html) \n und [maxValue](https://hl7.org/fhir/R4/extension-maxvalue.html)-Extension\n* Vorgabe der anzugebenden Maßeinheit mittels [questionnaire-unit](https://hl7.org/fhir/R4/extension-questionnaire-unit.html)-Extension" />
<linkId value="4" />
<text value="Körpermaße" />
<type value="group" />
<required value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/questionnaire-unit">
<system value="http://unitsofmeasure.org" />
<code value="kg" />
</valueCoding>
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/maxValue">
<valueDecimal value="300" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/minValue">
<valueDecimal value="20" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces">
<valueInteger value="1" />
</extension>
<linkId value="4.1" />
<text value="Körpergewicht in kg (muss zwischen 20 und 300kg liegen)" />
<type value="decimal" />
</item>
<extension url="http://hl7.org/fhir/StructureDefinition/questionnaire-unit">
<system value="http://unitsofmeasure.org" />
<code value="m" />
</valueCoding>
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/entryFormat">
<valueString value="x.xx" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/maxValue">
<valueDecimal value="2.5" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/minValue">
<valueDecimal value="1" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces">
<valueInteger value="3" />
</extension>
<linkId value="4.2" />
<text value="Körpergröße in m (muss zwischen 1m und 2.50m liegen)" />
<type value="decimal" />
</item>
</item>
</Questionnaire>
{
"resourceType": "Questionnaire",
"id": "ExampleEntryValidationDecimal",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition"
]
},
"url": "https://gematik.de/fhir/isik/Questionnaire/ExampleEntryValidationDecimal",
"version": "0.1.0",
"name": "ExampleEntryValidationDecimal",
"title": "Validierung von Dezimalen",
"status": "draft",
"experimental": false,
"Patient"
],
"publisher": "Gematik GmbH",
"description": "### Beispiel-Questionnaire Validierung von Dezimalwerten \n* Vorgabe des Eingabeformates mittels [entryFormat](https://hl7.org/fhir/R4/extension-entryformat.html)-Extension\n* Limitierung der Dezimalstellen mittels [maxDecimalPlaces](https://hl7.org/fhir/R4/extension-maxdecimalplaces.html)-Extension\n* Limitierung des Wertebereiches mittels [minValue](https://hl7.org/fhir/R4/extension-minvalue.html) \n und [maxValue](https://hl7.org/fhir/R4/extension-maxvalue.html)-Extension\n* Vorgabe der anzugebenden Maßeinheit mittels [questionnaire-unit](https://hl7.org/fhir/R4/extension-questionnaire-unit.html)-Extension",
"item": [
{
"linkId": "4",
"text": "Körpermaße",
"type": "group",
"required": false,
"item": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit",
"system": "http://unitsofmeasure.org",
"code": "kg"
}
},
{
"url": "http://hl7.org/fhir/StructureDefinition/maxValue",
},
{
"url": "http://hl7.org/fhir/StructureDefinition/minValue",
},
{
"url": "http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces",
}
],
"linkId": "4.1",
"text": "Körpergewicht in kg (muss zwischen 20 und 300kg liegen)",
"type": "decimal"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit",
"system": "http://unitsofmeasure.org",
"code": "m"
}
},
{
"url": "http://hl7.org/fhir/StructureDefinition/entryFormat",
"valueString": "x.xx"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/maxValue",
},
{
"url": "http://hl7.org/fhir/StructureDefinition/minValue",
},
{
"url": "http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces",
}
],
"linkId": "4.2",
"text": "Körpergröße in m (muss zwischen 1m und 2.50m liegen)",
"type": "decimal"
}
]
}
]
}

QuestionnaireResponse

Beispiel: vollständig und valide ausgefülltes Formular

TitelValidierung von Dezimalen
Datum2025-01-01
PatientPatient/PatientinMinimal
AutorPatient/PatientinMinimal
IDFrageAntwort
4Körpermaße
4.1Körpergewicht in kg (muss zwischen 20 und 300kg liegen)66
4.2Körpergröße in m (muss zwischen 1m und 2.50m liegen)1.66

Quellcode

<QuestionnaireResponse xmlns="http://hl7.org/fhir">
<id value="ExampleEntryValidationDecimalResponse" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDaten" />
</meta>
<questionnaire value="https://gematik.de/fhir/isik/Questionnaire/ExampleEntryValidationDecimal">
<extension url="http://hl7.org/fhir/StructureDefinition/display">
<valueString value="Validierung von Dezimalen" />
</extension>
</questionnaire>
<status value="completed" />
<reference value="Patient/PatientinMinimal" />
</subject>
<authored value="2025-01-01" />
<reference value="Patient/PatientinMinimal" />
</author>
<linkId value="4" />
<text value="Körpermaße" />
<linkId value="4.1" />
<text value="Körpergewicht in kg (muss zwischen 20 und 300kg liegen)" />
<valueDecimal value="66" />
</answer>
</item>
<linkId value="4.2" />
<text value="Körpergröße in m (muss zwischen 1m und 2.50m liegen)" />
<valueDecimal value="1.66" />
</answer>
</item>
</item>
</QuestionnaireResponse>
{
"resourceType": "QuestionnaireResponse",
"id": "ExampleEntryValidationDecimalResponse",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDaten"
]
},
"questionnaire": "https://gematik.de/fhir/isik/Questionnaire/ExampleEntryValidationDecimal",
{
"url": "http://hl7.org/fhir/StructureDefinition/display",
"valueString": "Validierung von Dezimalen"
}
]
},
"status": "completed",
"subject": {
"reference": "Patient/PatientinMinimal"
},
"authored": "2025-01-01",
"author": {
"reference": "Patient/PatientinMinimal"
},
"item": [
{
"linkId": "4",
"text": "Körpermaße",
"item": [
{
"linkId": "4.1",
"text": "Körpergewicht in kg (muss zwischen 20 und 300kg liegen)",
"answer": [
{
}
]
},
{
"linkId": "4.2",
"text": "Körpergröße in m (muss zwischen 1m und 2.50m liegen)",
"answer": [
{
"valueDecimal": 1.66
}
]
}
]
}
]
}

Beispiel: Validierung von Pattern

Metadaten

NameExampleInputPatternValidation
URLhttps://gematik.de/fhir/isik/Questionnaire/ExampleInputPatternValidation
Beschreibung

Beispiel-Questionnaire mit Validierung von Benutzereingaben mittels einer FHIRPath-Expression

Die Validierung erfolgt über die targetConstraint-Extension

Gerendertes Formular

Das Feature wird von LHC-Forms zum aktuellen Zeitpunkt noch nicht unterstützt. Aus dem Grund wird im gerenderten Formular die Validierung noch nicht korrekt ausgeführt.

Globale Extensions

IDTextTypeSubextensions
1.4Versichertennummer:string
table
URLWert
keykvid-1
severitywarning
expressionmatches(^[A-Z][0-9]{9}$)
humanEine Versichertennummer muss mit einem Großbuchstaben beginnen, gefolgt von 9 Zahlen!

Quellcode

<Questionnaire xmlns="http://hl7.org/fhir">
<id value="ExampleInputPatternValidation" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition" />
</meta>
<url value="https://gematik.de/fhir/isik/Questionnaire/ExampleInputPatternValidation" />
<version value="0.1.0" />
<name value="ExampleInputPatternValidation" />
<title value="Validierung von Formulareingaben gegen RegExPattern" />
<status value="draft" />
<experimental value="false" />
<subjectType value="Patient" />
<publisher value="Gematik GmbH" />
<description value="### Beispiel-Questionnaire mit Validierung von Benutzereingaben mittels einer FHIRPath-Expression \nDie Validierung erfolgt über die [targetConstraint](https://hl7.org/fhir/extensions/StructureDefinition-targetConstraint.html)-Extension" />
<extension url="http://hl7.org/fhir/StructureDefinition/targetConstraint">
<extension url="key">
<valueId value="kvid-1" />
</extension>
<extension url="severity">
<valueCode value="warning" />
</extension>
<extension url="expression">
<language value="text/fhirpath" />
<expression value="matches(^[A-Z][0-9]{9}$)" />
</valueExpression>
</extension>
<extension url="human">
<valueString value="Eine Versichertennummer muss mit einem Großbuchstaben beginnen, gefolgt von 9 Zahlen!" />
</extension>
</extension>
<linkId value="1.4" />
<text value="Versichertennummer:" />
<type value="string" />
</item>
</Questionnaire>
{
"resourceType": "Questionnaire",
"id": "ExampleInputPatternValidation",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition"
]
},
"url": "https://gematik.de/fhir/isik/Questionnaire/ExampleInputPatternValidation",
"version": "0.1.0",
"name": "ExampleInputPatternValidation",
"title": "Validierung von Formulareingaben gegen RegExPattern",
"status": "draft",
"experimental": false,
"Patient"
],
"publisher": "Gematik GmbH",
"description": "### Beispiel-Questionnaire mit Validierung von Benutzereingaben mittels einer FHIRPath-Expression \nDie Validierung erfolgt über die [targetConstraint](https://hl7.org/fhir/extensions/StructureDefinition-targetConstraint.html)-Extension",
"item": [
{
{
{
"url": "key",
"valueId": "kvid-1"
},
{
"url": "severity",
"valueCode": "warning"
},
{
"url": "expression",
"language": "text/fhirpath",
"expression": "matches(^[A-Z][0-9]{9}$)"
}
},
{
"url": "human",
"valueString": "Eine Versichertennummer muss mit einem Großbuchstaben beginnen, gefolgt von 9 Zahlen!"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/targetConstraint"
}
],
"linkId": "1.4",
"text": "Versichertennummer:",
"type": "string"
}
]
}

Beispiel: Modifier Extension MDR-relevant

Metadaten

NameExampleMdrRelevant
URLhttps://gematik.de/fhir/isik/Questionnaire/ExampleMdrRelevant
Beschreibung

Beispiel-Questionnaire, welches eine MDR-Relevanz ausweist

  • Angabe der MDR-Relevanz mittels ISiKMDRRelevanzFormular-Extension Disclaimer: Dies ist ein simples fantasie Beispiel und hat keine medizinische Aussagekraft. Das erwartete Verhalten von Systemen, die mit diesem Questionnaire testen wäre, dass das Formular mit einer Fehlermeldung nicht rendert!

Gerendertes Formular

Globale Extensions

NameValue

ISiKMDRRelevanzFormularExtension

rel

Quellcode

<Questionnaire xmlns="http://hl7.org/fhir">
<id value="ExampleMdrRelevant" />
<profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition" />
</meta>
<modifierExtension url="https://gematik.de/fhir/isik/StructureDefinition/ISiKMDRRelevanzFormularExtension">
<system value="https://gematik.de/fhir/isik/CodeSystem/ISiKMDRRelevanzFormularCS" />
<code value="rel" />
</valueCoding>
</modifierExtension>
<url value="https://gematik.de/fhir/isik/Questionnaire/ExampleMdrRelevant" />
<version value="0.1.0" />
<name value="ExampleMdrRelevant" />
<title value="Formular aus einem Medizinprodukt" />
<status value="draft" />
<experimental value="false" />
<subjectType value="Patient" />
<publisher value="Gematik GmbH" />
<description value="### Beispiel-Questionnaire, welches eine MDR-Relevanz ausweist\n* Angabe der MDR-Relevanz mittels [ISiKMDRRelevanzFormular](https://simplifier.net/isik-stufe-5/isikmdrrelevanzformularextension)-Extension\nDisclaimer: Dies ist ein simples fantasie Beispiel und hat keine medizinische Aussagekraft. Das erwartete Verhalten von Systemen, die mit diesem Questionnaire testen wäre, dass das Formular mit einer Fehlermeldung *nicht* rendert!" />
<linkId value="1" />
<text value="Fragen mit Entscheidungspfad, der MDR-relevant ist" />
<type value="group" />
<linkId value="1.1" />
<text value="Wie hoch ist dein systolischer Blutdruck (oberer Wert)?" />
<type value="integer" />
</item>
<linkId value="1.1-Krank" />
<text value="Du sollst zum Arzt!" />
<type value="display" />
<question value="1.1" />
<operator value=">=" />
<answerInteger value="90" />
</enableWhen>
</item>
<linkId value="1.1-Gesund" />
<text value="Du sollst nicht zum Arzt!" />
<type value="display" />
<question value="1.1" />
<operator value="<" />
<answerInteger value="90" />
</enableWhen>
</item>
</item>
</Questionnaire>
{
"resourceType": "Questionnaire",
"id": "ExampleMdrRelevant",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/StructureDefinition/ISiKFormularDefinition"
]
},
{
"url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKMDRRelevanzFormularExtension",
"system": "https://gematik.de/fhir/isik/CodeSystem/ISiKMDRRelevanzFormularCS",
"code": "rel"
}
}
],
"url": "https://gematik.de/fhir/isik/Questionnaire/ExampleMdrRelevant",
"version": "0.1.0",
"name": "ExampleMdrRelevant",
"title": "Formular aus einem Medizinprodukt",
"status": "draft",
"experimental": false,
"Patient"
],
"publisher": "Gematik GmbH",
"description": "### Beispiel-Questionnaire, welches eine MDR-Relevanz ausweist\n* Angabe der MDR-Relevanz mittels [ISiKMDRRelevanzFormular](https://simplifier.net/isik-stufe-5/isikmdrrelevanzformularextension)-Extension\nDisclaimer: Dies ist ein simples fantasie Beispiel und hat keine medizinische Aussagekraft. Das erwartete Verhalten von Systemen, die mit diesem Questionnaire testen wäre, dass das Formular mit einer Fehlermeldung *nicht* rendert!",
"item": [
{
"linkId": "1",
"text": "Fragen mit Entscheidungspfad, der MDR-relevant ist",
"type": "group",
"item": [
{
"linkId": "1.1",
"text": "Wie hoch ist dein systolischer Blutdruck (oberer Wert)?",
"type": "integer"
},
{
"linkId": "1.1-Krank",
"text": "Du sollst zum Arzt!",
"type": "display",
{
"question": "1.1",
"operator": ">=",
}
]
},
{
"linkId": "1.1-Gesund",
"text": "Du sollst nicht zum Arzt!",
"type": "display",
{
"question": "1.1",
"operator": "<",
}
]
}
]
}
]
}