Skip to content

Commit

Permalink
Anlage Profil und Datenobjekt-Seite für QuestionnaireResponse
Browse files Browse the repository at this point in the history
  • Loading branch information
simoneOnFhir committed Mar 6, 2024
1 parent 00ea90a commit 5f407da
Show file tree
Hide file tree
Showing 19 changed files with 175 additions and 74 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,11 @@
"nameUrl": "ImplementationGuide/markdown/Datenobjekte/ISiKBinary.md",
"title": "ISiKBinary (Binary)",
"generation": "markdown"
},
{
"nameUrl": "ImplementationGuide/markdown/Datenobjekte/ISiKFormulardaten.md",
"title": "ISiKFormulardaten(QuestionnaireResponse)",
"generation": "markdown"
}
]
}
Expand Down
70 changes: 70 additions & 0 deletions ImplementationGuide/markdown/Datenobjekte/ISiKFormulardaten.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
canonical: https://gematik.de/fhir/isik/v3/Terminplanung/StructureDefinition/ISiKFormulardaten
expand: 2
---

## ISiKFormulardaten [(QuestionnaireResponse)](https://hl7.org/fhir/R4/questionnaireresponse.html)

### Motivation
ISiKQuestionnaireResponse dient im Kontext der Terminplanung dazu strukturierte, formularbasierte Zusatzinformationen vom Termin-Requestor an das Termin-Repository zu übermitteln (vgl. {{pagelink:ImplementationGuide/markdown/Datenobjekte/ISiKNachrichtCommunication.md, text:'ISiKCommunication.payload.contentAttachment'}}).

Konkret kann die QuestionnaireResponse dazu genutzt werden, vom Patienten bzw. dem Benutzer eines Terminbuchunsportals erhobene Informationen zu übermitteln, die für die Terminplanung von Relevanz sind, z.B. Fragen zu Symptomen, Anamnese, benötigten Mobilitätshilfen usw.

Die Questonnaire-Ressource dient in FHIR dazu, solche Fragen im Sinne eines Formulars zu spezifizieren, Antwortmöglichkeiten vorzugeben, gegebene Antworten zu Validieren, und diese Formulare in standardisierter Form zwischen verschiedenen Systemen austauschbar zu machen.

In dieser Ausbaustufe ist die Frage nach der Festelegung und dem Austausch der Formulardefinitionen jedoch noch außen vor. Zunächst geht es nur um die Frage, wie die Informationen, die über Formulare erfasst wurden, strukturiert kommuniziert und in den empfangenden Systemen (ohne Kenntnis der Formulardefinition) zur Anzeige gebracht werden können.

In künftigen Ausbaustufen, kann dieses Szenario erweitert werden um z.B.
* Formulardefinitionen zwischen Termin-Repository und Termin-Requester auszutauschen ("KIS gibt vor, welche Informationen im Portal vom Patienten abgefragt werden sollen")
* Formulardefinitionen an bestimmte Terminarten (Appointment.serviceType) zu binden ("Bei Impfterminen müssen andere Informationen vom Patienten erhoben werden als bei Check-Ups")
* Weiternutzbare und -verarbeitbare FHIR-Ressourcen aus den QuestionnaireResponses zu extrahieren ("Aus den Angaben des Patienten zu seinen Allergien werden AllergyIntolerance-Ressourcen erstellt und in die Patientenakte übernommen")
* Formularfelder mittels der über einen FHIR-Endpunkt verfügbaren Daten automatisch vorbelegen um redundante Datenerfassung zu minimieren ("Wenn der Patient bereits im Haus war, muss er seine benötigten Mobilitätshilfen nicht erneut eingegben, er muss lediglich bestätigen, dass die zuvor erfassten Daten weiterhin aktuell sind.")

Um in der ersten Ausbaustufe des formularbasieren Datenaustauschs die Komplexität bei der Darstellung der erhobenen Informationen möglichst gering zu halten,
müssen die Systeme, die formularbasierte Daten erfasen, die Einschränkungen des folgenden QuestionnaireResponse-Profils berücksichtigen:

---
### Kompatibilität
Das QuestionnaireResponse-Profil ist kompatibel zu
* https://demis.rki.de/fhir/StructureDefinition/StatisticInformationBedOccupancy


### FHIR-Profil


<fql>
from
StructureDefinition
where
url = %canonical
select
Name: name, Canonical: url, Basis: baseDefinition
</fql>
<fql output="inline" headers="false">
from
StructureDefinition
where
url = %canonical
select
Beschreibung: description
with
no header
</fql>
{{tree, buttons}}

---

### Anmerkungen zu Must-Support-Feldern

<fql output = "table" headers="true">

from
StructureDefinition
where
url = %canonical
for
differential.element
where
mustSupport = true
select Feldname: id, Kurzbeschreibung: short, Hinweise: comment
</fql>
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
}
],
"profile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTermin"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTermin"
]
},
"extension": [
{
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKNachrichtExtension",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKNachrichtExtension",
"valueReference": {
"reference": "Communication/ISiKNachrichtExample"
}
Expand Down Expand Up @@ -61,7 +61,7 @@
"_priority": {
"extension": [
{
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension",
"valueCodeableConcept": {
"coding": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"id": "ISiKNachrichtExample",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKNachricht"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKNachricht"
]
},
"status": "completed",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"id": "ISiKMedizinischeBehandlungseinheitExample",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKMedizinischeBehandlungseinheit"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKMedizinischeBehandlungseinheit"
]
},
"active": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"type": "Reference",
"documentation": "Im Falle dass ein Appointment keine Referenz auf ein oder mehrere Slots enthält, MUSS der Server die benötigten Slots auf Basis der Referenz auf Schedule, sowie dem Start- und Endzeitpunkt im Appointment ermitteln.",
"targetProfile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKKalender"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKKalender"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"id": "ISiKKalenderExample",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKKalender"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKKalender"
]
},
"active": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"id": "ISiKTerminblockExample",
"meta": {
"profile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTerminblock"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTerminblock"
]
},
"schedule": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"resourceType": "StructureDefinition",
"id": "ISiKKalender",
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKKalender",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKKalender",
"version": "3.0.2",
"name": "ISiKKalender",
"status": "active",
Expand Down Expand Up @@ -36,6 +36,16 @@
{
"id": "Schedule.extension",
"path": "Schedule.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"ordered": false,
"rules": "open"
},
"mustSupport": true
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"resourceType": "StructureDefinition",
"id": "ISiKMedizinischeBehandlungseinheit",
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKMedizinischeBehandlungseinheit",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKMedizinischeBehandlungseinheit",
"version": "3.0.2",
"name": "ISiKMedizinischeBehandlungseinheit",
"status": "active",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"resourceType": "StructureDefinition",
"id": "ISiKNachricht",
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKNachricht",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKNachricht",
"version": "3.0.2",
"name": "ISiKNachricht",
"status": "active",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"resourceType": "StructureDefinition",
"id": "ISiKNachrichtExtension",
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKNachrichtExtension",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKNachrichtExtension",
"version": "3.0.2",
"name": "ISiKNachrichtExtension",
"status": "active",
Expand Down Expand Up @@ -37,7 +37,7 @@
{
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKNachrichtExtension"
"fixedUri": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKNachrichtExtension"
},
{
"id": "Extension.value[x]",
Expand All @@ -46,7 +46,7 @@
{
"code": "Reference",
"targetProfile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKNachricht"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKNachricht"
]
}
]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"resourceType": "StructureDefinition",
"id": "ISiKTermin",
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTermin",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTermin",
"version": "3.0.2",
"name": "ISiKTermin",
"status": "active",
Expand Down Expand Up @@ -52,7 +52,7 @@
"severity": "error",
"human": "Der Endzeitpunkt eines Termins MUSS nach dem Startzeitpunkt liegen",
"expression": "start <= end",
"source": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTermin"
"source": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTermin"
}
]
},
Expand Down Expand Up @@ -90,6 +90,16 @@
{
"id": "Appointment.extension",
"path": "Appointment.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"ordered": false,
"rules": "open"
},
"mustSupport": true
},
{
Expand All @@ -102,7 +112,7 @@
{
"code": "Extension",
"profile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKNachrichtExtension"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKNachrichtExtension"
]
}
],
Expand Down Expand Up @@ -135,7 +145,7 @@
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "https://gematik.de/fhir/isik/v4/Terminplanung/ValueSet/ISiKTerminCancelationReason"
"valueSet": "https://gematik.de/fhir/isik/Terminplanung/ValueSet/ISiKTerminCancelationReason"
}
},
{
Expand Down Expand Up @@ -178,6 +188,16 @@
{
"id": "Appointment.priority.extension",
"path": "Appointment.priority.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"ordered": false,
"rules": "open"
},
"mustSupport": true
},
{
Expand All @@ -190,7 +210,7 @@
{
"code": "Extension",
"profile": [
"https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension"
"https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension"
]
}
],
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"resourceType": "StructureDefinition",
"id": "ISiKTerminPriorityExtension",
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension",
"version": "3.0.2",
"name": "ISiKTerminPriorityExtension",
"status": "active",
Expand Down Expand Up @@ -37,7 +37,7 @@
{
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension"
"fixedUri": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension"
},
{
"id": "Extension.value[x]",
Expand All @@ -51,7 +51,7 @@
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "https://gematik.de/fhir/isik/v4/Terminplanung/ValueSet/ISiKTerminPriority"
"valueSet": "https://gematik.de/fhir/isik/Terminplanung/ValueSet/ISiKTerminPriority"
}
}
]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"resourceType": "StructureDefinition",
"id": "ISiKTerminblock",
"url": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTerminblock",
"url": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTerminblock",
"version": "3.0.2",
"name": "ISiKTerminblock",
"status": "active",
Expand Down Expand Up @@ -42,7 +42,7 @@
"severity": "error",
"human": "Der Endzeitpunkt eines Terminsblocks MUSS nach dem Startzeitpunkt liegen",
"expression": "start <= end",
"source": "https://gematik.de/fhir/isik/v4/Terminplanung/StructureDefinition/ISiKTerminblock"
"source": "https://gematik.de/fhir/isik/Terminplanung/StructureDefinition/ISiKTerminblock"
}
]
},
Expand Down
Loading

0 comments on commit 5f407da

Please sign in to comment.