Stream: german/kbv
Topic: eAU Bundle: UUID als Identifier
Lars Heyden (Oct 27 2020 at 13:24):
Im Profil KBV_PR_EAU_Bundle (https://simplifier.net/eau/kbvpreaubundle) ist definiert, dass als identifier eine UUID verwendet werden soll.
Als System ist urn:ietf:rfc:3986 angegeben (mit Definition: „Festlegung damit eine UUID kommt“). RFC 3986 beschreibt allerdings einen beliebigen URI. Eine UUID (in Form einer URN) ist in RFC 4122 definiert. Gibt es einen guten Grund dafür, dass RFC 3986 statt RFC 4122 als system angegeben wird und ist damit wirklich festgelegt, dass eine UUID verwendet werden muss?
Simone Heckmann (Oct 27 2020 at 14:52):
Das geht nicht auf die KBV zurück, sondern steht so im Standard:
If the identifier value itself is naturally a globally unique URI (e.g. an OID, a UUID, or a URI with no trailing local part), then the system SHALL be "urn:ietf:rfc:3986", and the URI is in the value (OIDs and UUIDs using urn:oid: and urn:uuid: - see note on the V3 mapping and the examples). Naturally globally unique identifiers are those for which no system has been assigned and where the value of the identifier is reasonably expected to not be re-used. Typically, these are absolute URIs of some kind.
Quelle: http://hl7.org/fhir/datatypes.html#identifier
Simone Heckmann (Oct 27 2020 at 14:53):
Ich schätze, das geht darauf zurück, dass die uuid hier nicht "einfach so", sondern als URI notiert wird, also mit dem urn:uuid-Präfix
Simone Heckmann (Oct 27 2020 at 14:55):
Die Verwendung einer UUID an sich ist für ein Bundle eigentlich naheliegend, da die Bundles normalerweise nicht persistiert werden, sondern nur als "Verpackung" für den Versand dienen und daher zur Laufzeit erzeugt werden.
Patrick Werner (Oct 27 2020 at 15:44):
Simone Heckmann said:
Ich schätze, das geht darauf zurück, dass die uuid hier nicht "einfach so", sondern als URI notiert wird, also mit dem urn:uuid-Präfix
ja der urn:uuid präfix macht eine uuid zu einer gültigen URI
Lars Heyden (Oct 27 2020 at 15:53):
Besten Dank für die Info, das ist die Erklärung, die ich gesucht habe.
Ich finde es auch sehr naheliegend, eine UUID zu verwenden und begrüße eine klare Vorgabe, dass eine UUID verwendet werden muss. Nur leider ist diese Vorgabe m.E. eben nicht klar, wenn als System stattdessen allgemein eine URI angegeben wird. Jede URN ist eine URI, und RFC4122 beschreibt den URN-Namespace für eine UUID, es wäre also sehr nahliegend, diesen als System anzugeben.
Wieso es im FHIR-Standard nicht vorgesehen ist, dass man bei verwendung von UUIDs (oder anderen global eindeutigen IDs) statt RFC 3986 einen Namespace anzugeben, der eine entsprechende Untermenge von URIs definiert, ist mir etwas rätselhaft. Gibt es dazu eine Erklärung? Und gäbe es eine andere Art und Weise um festzulegen, dass UUIDs geliefert werden müssen - abgesehen von einem Kommentar in einem Profil? Für so eine Festlegung ist das "system" doch genau da?
Last updated: Apr 12 2022 at 19:14 UTC