Skip to content

Commit 1b1290b

Browse files
Umstellung des Slicings auf ValueSet-Binding
1 parent af61486 commit 1b1290b

13 files changed

Lines changed: 70 additions & 219 deletions

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -496,12 +496,12 @@
496496
"endLine": 8
497497
},
498498
{
499-
"outputFile": "ValueSet-VSDMISO3166ErgaenzungVS.json",
500-
"fshName": "VSDMISO3166ErgaenzungVS",
499+
"outputFile": "ValueSet-VSDMISO3166VS.json",
500+
"fshName": "VSDMISO3166VS",
501501
"fshType": "ValueSet",
502-
"fshFile": "valuesets/VSDMISO3166ErgaenzungVS.fsh",
502+
"fshFile": "valuesets/VSDMISO3166VS.fsh",
503503
"startLine": 1,
504-
"endLine": 7
504+
"endLine": 8
505505
},
506506
{
507507
"outputFile": "ValueSet-VSDMKostentraegerRolleVS.json",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ StructureDefinition-VSDMTarifartPKV.json VSDMTari
6161
StructureDefinition-VSDMVersichertenartPKV.json VSDMVersichertenartPKV Extension extensions/VSDMVersichertenartPKV.fsh 1 - 20
6262
ValueSet-VSDMDMPVS.json VSDMDMPVS ValueSet valuesets/VSDMDMPVS.fsh 1 - 69
6363
ValueSet-VSDMErrorcodeVS.json VSDMErrorcodeVS ValueSet valuesets/VSDMErrorcodeVS.fsh 1 - 8
64-
ValueSet-VSDMISO3166ErgaenzungVS.json VSDMISO3166ErgaenzungVS ValueSet valuesets/VSDMISO3166ErgaenzungVS.fsh 1 - 7
64+
ValueSet-VSDMISO3166VS.json VSDMISO3166VS ValueSet valuesets/VSDMISO3166VS.fsh 1 - 8
6565
ValueSet-VSDMKostentraegerRolleVS.json VSDMKostentraegerRolleVS ValueSet valuesets/VSDMKostentraegerRolleVS.fsh 1 - 7
6666
ValueSet-VSDMNamenszusatzVS.json VSDMNamenszusatzVS ValueSet valuesets/VSDMNamenszusatzVS.fsh 1 - 7
6767
ValueSet-VSDMRuhenderLeistungsanspruchArtVS.json VSDMRuhenderLeistungsanspruchArtVS ValueSet valuesets/VSDMRuhenderLeistungsanspruchArtVS.fsh 1 - 7

src/fhir/fsh-generated/resources/ConceptMap-VSDMDEUEVAnlage8ISO3166.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"date": "2023-12-31",
1212
"purpose": "Diese ConceptMap ordnet den Ländercodes aus der DEÜV Anlage 8 die korrespondierenden Ländercodes nach ISO 3166-1 zu.\nWo keine offiziellen Ländercodes verfügbar sind, werden temporäre Codes aus einem lokalen CodeSystem verwendet.",
1313
"sourceUri": "https://fhir.kbv.de/ValueSet/KBV_VS_Base_Deuev_Anlage_8",
14-
"targetUri": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166ErgaenzungVS",
14+
"targetUri": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166VS",
1515
"group": [
1616
{
1717
"source": "http://fhir.de/CodeSystem/deuev/anlage-8-laenderkennzeichen",

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

Lines changed: 16 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -239,15 +239,6 @@
239239
"path": "Patient.address.country",
240240
"definition": "Staatsangabe",
241241
"comment": "Hier ist die Staatsangabe im Volltext (z.B. zur postalischen Adressierung) anzugeben.",
242-
"constraint": [
243-
{
244-
"key": "country-any-iso3166-present-1",
245-
"severity": "error",
246-
"human": "Das Land muss nach ISO 3166-1 oder mit temporärem Code kodiert werden.",
247-
"expression": "extension('http://hl7.org/fhir/StructureDefinition/iso21090-codedString').value.ofType(Coding).where(system = 'urn:iso:std:iso:3166' or system = 'https://gematik.de/fhir/vsdm2/CodeSystem/VSDMISO3166ErgaenzungCS').count() = 1",
248-
"source": "https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMPatient"
249-
}
250-
],
251242
"mustSupport": true
252243
},
253244
{
@@ -261,20 +252,21 @@
261252
"path": "url"
262253
},
263254
{
264-
"type": "value",
265-
"path": "value.ofType(Coding).system"
255+
"type": "pattern",
256+
"path": "value.ofType(Coding)"
266257
}
267258
]
268-
}
259+
},
260+
"min": 1
269261
},
270262
{
271263
"id": "Patient.address:StrassenAdresse.country.extension:countryCode",
272264
"path": "Patient.address.country.extension",
273265
"sliceName": "countryCode",
274266
"short": "Länderkennzeichen nach ISO 3166-1",
275267
"definition": "Kodierte Angabe des Länderkennzeichens nach ISO 3166-1.",
276-
"comment": "Diese Abbildung entspricht der auf EU-Ebene in Abstimmung befindlichen Profilierung zur [Kodierung der Landesangabe](https://build.fhir.org/ig/hl7-eu/base/StructureDefinition-Address-eu.html).\nDurch die Verwendung der internationalen Kodierung wird die interoperable Verwendung der Adressangabe erleichtert.\nDie Bindung ist erweiterbar ausgeführt, um die Verwendung vorläufiger Codes zu ermöglichen.",
277-
"min": 0,
268+
"comment": "Diese Abbildung entspricht der auf EU-Ebene in Abstimmung befindlichen Profilierung zur [Kodierung der Landesangabe](https://build.fhir.org/ig/hl7-eu/base/StructureDefinition-Address-eu.html).\nDurch die Verwendung der internationalen Kodierung wird die interoperable Verwendung der Adressangabe erleichtert.\nIn der DEÜV gibt es allerdings Ländercodes, die sich nicht auf den zum Zeitpunkt der Veröffentlichung bestehenden Stand der ISO 3166-1 abbilden lassen.\nUm eine Abbildung ohne Informationsverlust zu ermöglichen, wird mit dem erweiterten ValueSet die Verwendung eines alternativen CodeSystem ermöglicht.",
269+
"min": 1,
278270
"max": "1",
279271
"type": [
280272
{
@@ -290,47 +282,10 @@
290282
"id": "Patient.address:StrassenAdresse.country.extension:countryCode.value[x]",
291283
"path": "Patient.address.country.extension.value[x]",
292284
"binding": {
293-
"strength": "extensible",
294-
"valueSet": "http://hl7.org/fhir/ValueSet/iso3166-1-2"
295-
}
296-
},
297-
{
298-
"id": "Patient.address:StrassenAdresse.country.extension:countryCode.value[x].system",
299-
"path": "Patient.address.country.extension.value[x].system",
300-
"fixedUri": "urn:iso:std:iso:3166"
301-
},
302-
{
303-
"id": "Patient.address:StrassenAdresse.country.extension:temporaryCountryCode",
304-
"path": "Patient.address.country.extension",
305-
"sliceName": "temporaryCountryCode",
306-
"short": "Länderkennzeichen in Anlehnung an ISO 3166-1",
307-
"definition": "Kodierte Angabe des Länderkennzeichens mit temporärem Wert in Anlehnung an ISO 3166-1.",
308-
"comment": "In der DEÜV gibt es Ländercodes, die sich nicht auf den zum Zeitpunkt der Veröffentlichung bestehenden Stand der ISO 3166-1 abbilden lassen.\nUm eine Abbildung ohne Informationsverlust zu ermöglichen, wird mit diesem Slice die Verwendung eines alternativen CodeSystem ermöglicht.",
309-
"min": 0,
310-
"max": "1",
311-
"type": [
312-
{
313-
"code": "Extension",
314-
"profile": [
315-
"http://hl7.org/fhir/StructureDefinition/iso21090-codedString"
316-
]
317-
}
318-
],
319-
"mustSupport": true
320-
},
321-
{
322-
"id": "Patient.address:StrassenAdresse.country.extension:temporaryCountryCode.value[x]",
323-
"path": "Patient.address.country.extension.value[x]",
324-
"binding": {
325-
"strength": "extensible",
326-
"valueSet": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166ErgaenzungVS"
285+
"strength": "required",
286+
"valueSet": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166VS"
327287
}
328288
},
329-
{
330-
"id": "Patient.address:StrassenAdresse.country.extension:temporaryCountryCode.value[x].system",
331-
"path": "Patient.address.country.extension.value[x].system",
332-
"fixedUri": "https://gematik.de/fhir/vsdm2/CodeSystem/VSDMISO3166ErgaenzungCS"
333-
},
334289
{
335290
"id": "Patient.address:StrassenAdresse.country.extension:anlage8",
336291
"path": "Patient.address.country.extension",
@@ -418,15 +373,6 @@
418373
"path": "Patient.address.country",
419374
"definition": "Staatsangabe",
420375
"comment": "Hier ist die Staatsangabe im Volltext (z.B. zur postalischen Adressierung) anzugeben.",
421-
"constraint": [
422-
{
423-
"key": "country-any-iso3166-present-1",
424-
"severity": "error",
425-
"human": "Das Land muss nach ISO 3166-1 oder mit temporärem Code kodiert werden.",
426-
"expression": "extension('http://hl7.org/fhir/StructureDefinition/iso21090-codedString').value.ofType(Coding).where(system = 'urn:iso:std:iso:3166' or system = 'https://gematik.de/fhir/vsdm2/CodeSystem/VSDMISO3166ErgaenzungCS').count() = 1",
427-
"source": "https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMPatient"
428-
}
429-
],
430376
"mustSupport": true
431377
},
432378
{
@@ -440,20 +386,21 @@
440386
"path": "url"
441387
},
442388
{
443-
"type": "value",
444-
"path": "value.ofType(Coding).system"
389+
"type": "pattern",
390+
"path": "value.ofType(Coding)"
445391
}
446392
]
447-
}
393+
},
394+
"min": 1
448395
},
449396
{
450397
"id": "Patient.address:PostfachAdresse.country.extension:countryCode",
451398
"path": "Patient.address.country.extension",
452399
"sliceName": "countryCode",
453400
"short": "Länderkennzeichen nach ISO 3166-1",
454401
"definition": "Kodierte Angabe des Länderkennzeichens nach ISO 3166-1.",
455-
"comment": "Diese Abbildung entspricht der auf EU-Ebene in Abstimmung befindlichen Profilierung zur [Kodierung der Landesangabe](https://build.fhir.org/ig/hl7-eu/base/StructureDefinition-Address-eu.html).\nDurch die Verwendung der internationalen Kodierung wird die interoperable Verwendung der Adressangabe erleichtert.\nDie Bindung ist erweiterbar ausgeführt, um die Verwendung vorläufiger Codes zu ermöglichen.",
456-
"min": 0,
402+
"comment": "Diese Abbildung entspricht der auf EU-Ebene in Abstimmung befindlichen Profilierung zur [Kodierung der Landesangabe](https://build.fhir.org/ig/hl7-eu/base/StructureDefinition-Address-eu.html).\nDurch die Verwendung der internationalen Kodierung wird die interoperable Verwendung der Adressangabe erleichtert.\nIn der DEÜV gibt es allerdings Ländercodes, die sich nicht auf den zum Zeitpunkt der Veröffentlichung bestehenden Stand der ISO 3166-1 abbilden lassen.\nUm eine Abbildung ohne Informationsverlust zu ermöglichen, wird mit dem erweiterten ValueSet die Verwendung eines alternativen CodeSystem ermöglicht.",
403+
"min": 1,
457404
"max": "1",
458405
"type": [
459406
{
@@ -469,47 +416,10 @@
469416
"id": "Patient.address:PostfachAdresse.country.extension:countryCode.value[x]",
470417
"path": "Patient.address.country.extension.value[x]",
471418
"binding": {
472-
"strength": "extensible",
473-
"valueSet": "http://hl7.org/fhir/ValueSet/iso3166-1-2"
474-
}
475-
},
476-
{
477-
"id": "Patient.address:PostfachAdresse.country.extension:countryCode.value[x].system",
478-
"path": "Patient.address.country.extension.value[x].system",
479-
"fixedUri": "urn:iso:std:iso:3166"
480-
},
481-
{
482-
"id": "Patient.address:PostfachAdresse.country.extension:temporaryCountryCode",
483-
"path": "Patient.address.country.extension",
484-
"sliceName": "temporaryCountryCode",
485-
"short": "Länderkennzeichen in Anlehnung an ISO 3166-1",
486-
"definition": "Kodierte Angabe des Länderkennzeichens mit temporärem Wert in Anlehnung an ISO 3166-1.",
487-
"comment": "In der DEÜV gibt es Ländercodes, die sich nicht auf den zum Zeitpunkt der Veröffentlichung bestehenden Stand der ISO 3166-1 abbilden lassen.\nUm eine Abbildung ohne Informationsverlust zu ermöglichen, wird mit diesem Slice die Verwendung eines alternativen CodeSystem ermöglicht.",
488-
"min": 0,
489-
"max": "1",
490-
"type": [
491-
{
492-
"code": "Extension",
493-
"profile": [
494-
"http://hl7.org/fhir/StructureDefinition/iso21090-codedString"
495-
]
496-
}
497-
],
498-
"mustSupport": true
499-
},
500-
{
501-
"id": "Patient.address:PostfachAdresse.country.extension:temporaryCountryCode.value[x]",
502-
"path": "Patient.address.country.extension.value[x]",
503-
"binding": {
504-
"strength": "extensible",
505-
"valueSet": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166ErgaenzungVS"
419+
"strength": "required",
420+
"valueSet": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166VS"
506421
}
507422
},
508-
{
509-
"id": "Patient.address:PostfachAdresse.country.extension:temporaryCountryCode.value[x].system",
510-
"path": "Patient.address.country.extension.value[x].system",
511-
"fixedUri": "https://gematik.de/fhir/vsdm2/CodeSystem/VSDMISO3166ErgaenzungCS"
512-
},
513423
{
514424
"id": "Patient.address:PostfachAdresse.country.extension:anlage8",
515425
"path": "Patient.address.country.extension",

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

Lines changed: 8 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,6 @@
7777
"short": "Staat",
7878
"definition": "Staatsangabe",
7979
"comment": "Hier ist die Staatsangabe im Volltext (z.B. zur postalischen Adressierung) anzugeben.",
80-
"constraint": [
81-
{
82-
"key": "country-any-iso3166-present-1",
83-
"severity": "error",
84-
"human": "Das Land muss nach ISO 3166-1 oder mit temporärem Code kodiert werden.",
85-
"expression": "extension('http://hl7.org/fhir/StructureDefinition/iso21090-codedString').value.ofType(Coding).where(system = 'urn:iso:std:iso:3166' or system = 'https://gematik.de/fhir/vsdm2/CodeSystem/VSDMISO3166ErgaenzungCS').count() = 1",
86-
"source": "https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMPayorOrganization"
87-
}
88-
],
8980
"mustSupport": true
9081
},
9182
{
@@ -99,20 +90,21 @@
9990
"path": "url"
10091
},
10192
{
102-
"type": "value",
103-
"path": "value.ofType(Coding).system"
93+
"type": "pattern",
94+
"path": "value.ofType(Coding)"
10495
}
10596
]
106-
}
97+
},
98+
"min": 1
10799
},
108100
{
109101
"id": "Organization.address.country.extension:countryCode",
110102
"path": "Organization.address.country.extension",
111103
"sliceName": "countryCode",
112104
"short": "Länderkennzeichen nach ISO 3166-1",
113105
"definition": "Kodierte Angabe des Länderkennzeichens nach ISO 3166-1.",
114-
"comment": "Diese Abbildung entspricht der auf EU-Ebene in Abstimmung befindlichen Profilierung zur [Kodierung der Landesangabe](https://build.fhir.org/ig/hl7-eu/base/StructureDefinition-Address-eu.html).\nDurch die Verwendung der internationalen Kodierung wird die interoperable Verwendung der Adressangabe erleichtert.\nDie Bindung ist erweiterbar ausgeführt, um die Verwendung vorläufiger Codes zu ermöglichen.",
115-
"min": 0,
106+
"comment": "Diese Abbildung entspricht der auf EU-Ebene in Abstimmung befindlichen Profilierung zur [Kodierung der Landesangabe](https://build.fhir.org/ig/hl7-eu/base/StructureDefinition-Address-eu.html).\nDurch die Verwendung der internationalen Kodierung wird die interoperable Verwendung der Adressangabe erleichtert.\nIn der DEÜV gibt es allerdings Ländercodes, die sich nicht auf den zum Zeitpunkt der Veröffentlichung bestehenden Stand der ISO 3166-1 abbilden lassen.\nUm eine Abbildung ohne Informationsverlust zu ermöglichen, wird mit dem erweiterten ValueSet die Verwendung eines alternativen CodeSystem ermöglicht.",
107+
"min": 1,
116108
"max": "1",
117109
"type": [
118110
{
@@ -128,47 +120,10 @@
128120
"id": "Organization.address.country.extension:countryCode.value[x]",
129121
"path": "Organization.address.country.extension.value[x]",
130122
"binding": {
131-
"strength": "extensible",
132-
"valueSet": "http://hl7.org/fhir/ValueSet/iso3166-1-2"
133-
}
134-
},
135-
{
136-
"id": "Organization.address.country.extension:countryCode.value[x].system",
137-
"path": "Organization.address.country.extension.value[x].system",
138-
"fixedUri": "urn:iso:std:iso:3166"
139-
},
140-
{
141-
"id": "Organization.address.country.extension:temporaryCountryCode",
142-
"path": "Organization.address.country.extension",
143-
"sliceName": "temporaryCountryCode",
144-
"short": "Länderkennzeichen in Anlehnung an ISO 3166-1",
145-
"definition": "Kodierte Angabe des Länderkennzeichens mit temporärem Wert in Anlehnung an ISO 3166-1.",
146-
"comment": "In der DEÜV gibt es Ländercodes, die sich nicht auf den zum Zeitpunkt der Veröffentlichung bestehenden Stand der ISO 3166-1 abbilden lassen.\nUm eine Abbildung ohne Informationsverlust zu ermöglichen, wird mit diesem Slice die Verwendung eines alternativen CodeSystem ermöglicht.",
147-
"min": 0,
148-
"max": "1",
149-
"type": [
150-
{
151-
"code": "Extension",
152-
"profile": [
153-
"http://hl7.org/fhir/StructureDefinition/iso21090-codedString"
154-
]
155-
}
156-
],
157-
"mustSupport": true
158-
},
159-
{
160-
"id": "Organization.address.country.extension:temporaryCountryCode.value[x]",
161-
"path": "Organization.address.country.extension.value[x]",
162-
"binding": {
163-
"strength": "extensible",
164-
"valueSet": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166ErgaenzungVS"
123+
"strength": "required",
124+
"valueSet": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166VS"
165125
}
166126
},
167-
{
168-
"id": "Organization.address.country.extension:temporaryCountryCode.value[x].system",
169-
"path": "Organization.address.country.extension.value[x].system",
170-
"fixedUri": "https://gematik.de/fhir/vsdm2/CodeSystem/VSDMISO3166ErgaenzungCS"
171-
},
172127
{
173128
"id": "Organization.address.country.extension:anlage8",
174129
"path": "Organization.address.country.extension",

src/fhir/fsh-generated/resources/ValueSet-VSDMISO3166ErgaenzungVS.json

Lines changed: 0 additions & 20 deletions
This file was deleted.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"resourceType": "ValueSet",
3+
"status": "draft",
4+
"name": "VSDMISO3166VS",
5+
"id": "VSDMISO3166VS",
6+
"title": "Ländercodes nach ISO 3166-1 mit Erweiterungen",
7+
"description": "Ländercodes nach ISO 3166-1 mit Erweiterungen im Versichertenstammdatenmanagement (VSDM) 2.0",
8+
"version": "1.0.0",
9+
"url": "https://gematik.de/fhir/vsdm2/ValueSet/VSDMISO3166VS",
10+
"experimental": false,
11+
"publisher": "gematik GmbH",
12+
"date": "2023-12-31",
13+
"compose": {
14+
"include": [
15+
{
16+
"system": "urn:iso:std:iso:3166"
17+
},
18+
{
19+
"system": "https://gematik.de/fhir/vsdm2/CodeSystem/VSDMISO3166ErgaenzungCS"
20+
}
21+
]
22+
}
23+
}

src/fhir/input/fsh/examples/VSDMPatient-GKV-P678901232.fsh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ Usage: #inline
2222
* city = "Prishtina"
2323
* postalCode = "10000"
2424
* country = "Kosovo"
25-
* extension[temporaryCountryCode].valueCoding = VSDMISO3166ErgaenzungCS#XK
25+
* extension[countryCode].valueCoding = VSDMISO3166ErgaenzungCS#XK
2626
* extension[anlage8].valueCoding = $csAnlage8Laenderkennzeichen#KOS

src/fhir/input/fsh/invariants.fsh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,3 @@ Invariant: unsignedInt-percentage-1
77
Description: "Prozentwerte müssen im Bereich von 0 bis 100 liegen."
88
Severity: #error
99
Expression: "($this >= 0) and ($this <= 100)"
10-
11-
Invariant: country-any-iso3166-present-1
12-
Description: "Das Land muss nach ISO 3166-1 oder mit temporärem Code kodiert werden."
13-
Severity: #error
14-
Expression: "extension('http://hl7.org/fhir/StructureDefinition/iso21090-codedString').value.ofType(Coding).where(system = 'urn:iso:std:iso:3166' or system = 'https://gematik.de/fhir/vsdm2/CodeSystem/VSDMISO3166ErgaenzungCS').count() = 1"

0 commit comments

Comments
 (0)