Skip to content

Commit ebe28f5

Browse files
authored
Merge pull request #718 from hl7germany/HDB-818-Validierung-Telematik-ID
HDB-818: Invariante und Längenbegrenzung zur Prüfung der Telematik-ID hinzugefügt
2 parents b1a689c + 415dc7e commit ebe28f5

6 files changed

Lines changed: 48 additions & 10 deletions

File tree

ig/markdown/Telematik-ID.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ Zur Abbildung einer [Telematik-ID](https://fachportal.gematik.de/fachportal-impo
88

99
{{tree:http://fhir.de/StructureDefinition/identifier-telematik-id, hybrid}}
1010

11-
**Kontext**: Der Identifier kann u.a. in Organization.identifier oder Practitioner.identifier verwendet werden
12-
13-
Es ist zu beachten, dass die Identifizierung eines Leistungserbringers durch den HBA / einer Organisation/Einrichtung des Gesundheitswesens in einer SMC-B durch Identifier erfolgt die technisch gesehen eine Telematik-ID repräsentieren. Für diese Zwecke sollte gleichermaßen das vorliegende Profil verwendet werden.
11+
**Beispiel:**
1412

1513
```xml
1614
<identifier>
@@ -21,6 +19,6 @@ Es ist zu beachten, dass die Identifizierung eines Leistungserbringers durch den
2119
</coding>
2220
</type>
2321
<system value="https://gematik.de/fhir/sid/telematik-id">
24-
<value value="1234567890" />
22+
<value value="1-1a25sd-d529" />
2523
</identifier>
26-
```
24+
```

resources/fsh-generated/resources/Practitioner-Example-practitioner-example.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@
2525
},
2626
"system": "http://fhir.de/sid/kzbv/zahnarztnummer",
2727
"value": "01234567"
28+
},
29+
{
30+
"type": {
31+
"coding": [
32+
{
33+
"code": "PRN",
34+
"system": "http://terminology.hl7.org/CodeSystem/v2-0203"
35+
}
36+
]
37+
},
38+
"system": "https://gematik.de/fhir/sid/telematik-id",
39+
"value": "1-1a25sd-d529"
2840
}
2941
]
3042
}

resources/fsh-generated/resources/StructureDefinition-identifier-telematik-id.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
]
2020
}
2121
],
22-
"description": "Die Telematik-ID repräsentiert als eineindeutiges Merkmal die Identität eines Teilnehmers, also eines Leistungserbringers im HBA respektive einer Organisation/Einrichtung des Gesundheitswesens in einer SMC-B.",
22+
"description": "Die Telematik-ID repräsentiert als eineindeutiges Merkmal die Identität eines Teilnehmers, \nalso eines Leistungserbringers im HBA respektive einer Organisation/Einrichtung des Gesundheitswesens in einer SMC-B.\nDer Aufbau der Telematik-ID entspricht folgender Systematik: [gemSpec_PKI](https://gemspec.gematik.de/docs/gemSpec/gemSpec_PKI/latest/#4.7.2).\nDie Länge ist auf 128 Zeichen begrenzt. \n\n**Kontext:** Der Identifier kann u.a. in Organization.identifier oder Practitioner.identifier verwendet werden. \nEs ist zu beachten, dass die Identifizierung eines Leistungserbringers durch den HBA / einer Organisation/Einrichtung des Gesundheitswesens \nin einer SMC-B durch Identifier erfolgt die technisch gesehen eine Telematik-ID repräsentieren. \nFür diese Zwecke sollte gleichermaßen das vorliegende Profil verwendet werden.\n",
2323
"fhirVersion": "4.0.1",
2424
"kind": "complex-type",
2525
"abstract": false,
@@ -53,7 +53,17 @@
5353
{
5454
"id": "Identifier.value",
5555
"path": "Identifier.value",
56-
"min": 1
56+
"min": 1,
57+
"maxLength": 128,
58+
"constraint": [
59+
{
60+
"key": "telematik-id-1",
61+
"severity": "error",
62+
"human": "Die Telematik-ID ist nicht zulässig.",
63+
"expression": "matches('^[1-9][0-9]?-[\\\\x21-\\\\x7E]+$')",
64+
"source": "http://fhir.de/StructureDefinition/identifier-telematik-id"
65+
}
66+
]
5767
}
5868
]
5969
}

resources/input/fsh/instances/Example-practitioner-example.fsh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,7 @@ Usage: #example
66
* identifier[=].value = "012345678"
77
* identifier[+].type = $identifier-type-de-basis#ZANR
88
* identifier[=].system = "http://fhir.de/sid/kzbv/zahnarztnummer"
9-
* identifier[=].value = "01234567"
9+
* identifier[=].value = "01234567"
10+
* identifier[+].type = $v2-0203#PRN
11+
* identifier[=].system = "https://gematik.de/fhir/sid/telematik-id"
12+
* identifier[=].value = "1-1a25sd-d529"
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Invariant: telematik-id-1
2+
Severity: #error
3+
Description: "Die Telematik-ID ist nicht zulässig."
4+
Expression: "matches('^[1-9][0-9]?-[\\\\x21-\\\\x7E]+$')"

resources/input/fsh/profiles/IdentifierTelematikId.fsh

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,21 @@ Profile: IdentifierTelematikId
22
Parent: Identifier
33
Id: identifier-telematik-id
44
Title: "Identifier-Profil für die Telematik-ID"
5-
Description: "Die Telematik-ID repräsentiert als eineindeutiges Merkmal die Identität eines Teilnehmers, also eines Leistungserbringers im HBA respektive einer Organisation/Einrichtung des Gesundheitswesens in einer SMC-B."
5+
Description: "Die Telematik-ID repräsentiert als eineindeutiges Merkmal die Identität eines Teilnehmers,
6+
also eines Leistungserbringers im HBA respektive einer Organisation/Einrichtung des Gesundheitswesens in einer SMC-B.
7+
Der Aufbau der Telematik-ID entspricht folgender Systematik: [gemSpec_PKI](https://gemspec.gematik.de/docs/gemSpec/gemSpec_PKI/latest/#4.7.2).
8+
Die Länge ist auf 128 Zeichen begrenzt.
9+
10+
**Kontext:** Der Identifier kann u.a. in Organization.identifier oder Practitioner.identifier verwendet werden.
11+
Es ist zu beachten, dass die Identifizierung eines Leistungserbringers durch den HBA / einer Organisation/Einrichtung des Gesundheitswesens
12+
in einer SMC-B durch Identifier erfolgt die technisch gesehen eine Telematik-ID repräsentieren.
13+
Für diese Zwecke sollte gleichermaßen das vorliegende Profil verwendet werden.
14+
"
615
* insert Meta
716
* type = $v2-0203#PRN
817
* type from IdentifierTypeDeBasisVS (extensible)
918
* system 1..
1019
* system = "https://gematik.de/fhir/sid/telematik-id" (exactly)
11-
* value 1..
20+
* value 1..
21+
* value obeys telematik-id-1
22+
* ^maxLength = 128

0 commit comments

Comments
 (0)