Skip to content

Commit 96d3973

Browse files
Merge pull request #131 from gematik/feature/126-date-invariant
Invariante für vollständige Datumsangaben ergänzt
2 parents 4e8dfca + 2b06314 commit 96d3973

4 files changed

Lines changed: 54 additions & 3 deletions

File tree

src/fhir/fsh-generated/data/fsh-index.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@
397397
"fshType": "Profile",
398398
"fshFile": "profiles/VSDMCoverageGKV.fsh",
399399
"startLine": 1,
400-
"endLine": 184
400+
"endLine": 191
401401
},
402402
{
403403
"outputFile": "StructureDefinition-VSDMCoveragePKV.json",

src/fhir/fsh-generated/fsh-index.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ StructureDefinition-VSDDatensatzPKV.json VSDDaten
4848
StructureDefinition-VSDMBeihilfe.json VSDMBeihilfe Extension extensions/VSDMBeihilfe.fsh 1 - 41
4949
StructureDefinition-VSDMBundle.json VSDMBundle Profile profiles/VSDMBundle.fsh 1 - 54
5050
StructureDefinition-VSDMContactPointTIM.json VSDMContactPointTIM Profile profiles/VSDMContactPointTIM.fsh 1 - 18
51-
StructureDefinition-VSDMCoverageGKV.json VSDMCoverageGKV Profile profiles/VSDMCoverageGKV.fsh 1 - 184
51+
StructureDefinition-VSDMCoverageGKV.json VSDMCoverageGKV Profile profiles/VSDMCoverageGKV.fsh 1 - 191
5252
StructureDefinition-VSDMCoveragePKV.json VSDMCoveragePKV Profile profiles/VSDMCoveragePKV.fsh 1 - 89
5353
StructureDefinition-VSDMDMPTeilnahme.json VSDMDMPTeilnahme Extension extensions/VSDMDMPTeilnahme.fsh 1 - 54
5454
StructureDefinition-VSDMHinweisPKV.json VSDMHinweisPKV Extension extensions/VSDMHinweisPKV.fsh 1 - 39

src/fhir/fsh-generated/resources/StructureDefinition-VSDMCoverageGKV.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,32 @@
307307
"path": "Coverage.extension.extension.value[x]",
308308
"min": 1
309309
},
310+
{
311+
"id": "Coverage.extension:ruhenderLeistungsanspruch.extension:dauer.value[x].start",
312+
"path": "Coverage.extension.extension.value[x].start",
313+
"constraint": [
314+
{
315+
"key": "date-precision-1",
316+
"severity": "error",
317+
"human": "An dieser Stelle muss ein vollständiges Datum bestehend aus Jahr, Monat und Tag angegeben werden.",
318+
"expression": "toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}$')",
319+
"source": "https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMCoverageGKV"
320+
}
321+
]
322+
},
323+
{
324+
"id": "Coverage.extension:ruhenderLeistungsanspruch.extension:dauer.value[x].end",
325+
"path": "Coverage.extension.extension.value[x].end",
326+
"constraint": [
327+
{
328+
"key": "date-precision-1",
329+
"severity": "error",
330+
"human": "An dieser Stelle muss ein vollständiges Datum bestehend aus Jahr, Monat und Tag angegeben werden.",
331+
"expression": "toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}$')",
332+
"source": "https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMCoverageGKV"
333+
}
334+
]
335+
},
310336
{
311337
"id": "Coverage.extension:versichertenart",
312338
"path": "Coverage.extension",
@@ -368,6 +394,15 @@
368394
"short": "Beginn des Versicherungsschutzes",
369395
"definition": "Gibt den Beginn des Versicherungsschutzes (Leistungsanspruchs) des Versicherten bei dem Kostenträger an. ",
370396
"min": 1,
397+
"constraint": [
398+
{
399+
"key": "date-precision-1",
400+
"severity": "error",
401+
"human": "An dieser Stelle muss ein vollständiges Datum bestehend aus Jahr, Monat und Tag angegeben werden.",
402+
"expression": "toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}$')",
403+
"source": "https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMCoverageGKV"
404+
}
405+
],
371406
"mustSupport": true
372407
},
373408
{
@@ -376,6 +411,15 @@
376411
"short": "Ende des Versicherungsschutzes",
377412
"definition": "Gibt das Ende des Versicherungsschutzes (Leistungsanspruchs) des Versicherten bei dem Kostenträger an, wenn ein Endedatum festgelegt ist. ",
378413
"comment": "Hier kann nicht das Ende der Gültigkeit einer konkreten eGK angegeben werden, weil der VSDM 2.0 Resource Server keine Kenntnis davon erlangt, welche konkrete eGK verwendet wurde.\nFür den Fall der Authentifikation mit einer elektronischen Identität liegt ohnehin kein eGK-Gültigkeitsdatum vor.",
414+
"constraint": [
415+
{
416+
"key": "date-precision-1",
417+
"severity": "error",
418+
"human": "An dieser Stelle muss ein vollständiges Datum bestehend aus Jahr, Monat und Tag angegeben werden.",
419+
"expression": "toString().matches('^[0-9]{4}-[0-9]{2}-[0-9]{2}$')",
420+
"source": "https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMCoverageGKV"
421+
}
422+
],
379423
"mustSupport": true
380424
},
381425
{

src/fhir/input/fsh/profiles/VSDMCoverageGKV.fsh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,12 @@ Description: "Angaben zum GKV-Versicherungsverhältnis im Versichertenstammdaten
121121
* value[x] 1..1
122122
* valueCoding from VSDMRuhenderLeistungsanspruchArtVS
123123
* system = Canonical(VSDMRuhenderLeistungsanspruchArtCS) (exactly)
124-
* extension[dauer].value[x] 1..1
124+
* extension[dauer]
125+
* valuePeriod 1..1
126+
* start 1..1
127+
* obeys date-precision-1
128+
* end 0..1
129+
* obeys date-precision-1
125130

126131
// Zuordnung aus Versicherungsdaten -> Versichertenart
127132
* extension contains $extVersichertenart named versichertenart 1..1 MS
@@ -153,6 +158,7 @@ Description: "Angaben zum GKV-Versicherungsverhältnis im Versichertenstammdaten
153158
* ^definition = """
154159
Gibt den Beginn des Versicherungsschutzes (Leistungsanspruchs) des Versicherten bei dem Kostenträger an.
155160
"""
161+
* obeys date-precision-1
156162
* end MS
157163
* ^short = "Ende des Versicherungsschutzes"
158164
* ^definition = """
@@ -162,6 +168,7 @@ Description: "Angaben zum GKV-Versicherungsverhältnis im Versichertenstammdaten
162168
Hier kann nicht das Ende der Gültigkeit einer konkreten eGK angegeben werden, weil der VSDM 2.0 Resource Server keine Kenntnis davon erlangt, welche konkrete eGK verwendet wurde.
163169
Für den Fall der Authentifikation mit einer elektronischen Identität liegt ohnehin kein eGK-Gültigkeitsdatum vor.
164170
"""
171+
* obeys date-precision-1
165172

166173
// Zuordnung aus Versicherungsdaten -> Kostentraeger und AbrechnenderKostentraeger
167174
* payor only Reference(VSDMPayorOrganization)

0 commit comments

Comments
 (0)