Stream: german (d-a-ch)
Topic: Basisprofile DE (R4) und andere
Morris Miltz (Apr 12 2021 at 14:51):
Hallo allerseits,
zunächst zum Kontext:
Ich stehe ganz am Anfang mit FHIR und dem Kontext drumherum, finde es noch sehr verwirrend, und würde mich über eure Hilfe sehr freuen.
Ich möchte für die Wunddoku eine App programmieren die Patientendaten abrufen, verändern und wieder hochladen kann.
Hierzu möchte ich den TestServer R4 verwenden. (http://hapi.fhir.org/baseR4)
Hierzu hatte ich in einem anderen Stream bereits den Hinweis bekommen, dass es auch für die Wunddokumentation bereits ein Profil gibt, das auf dem Basisprofil R4 aufbaut.
Meine Frage ist nun folgende, ist es denn grundsätzlich möglich, dass ich ein Profil in meinen Code einpflege und damit mit einem TestServer kommuniziere, oder muss ich hierzu selbst einen FHIR Server aufsetzten, bei dem ich dann z. B. das Basisprofil DE R4 erst installieren muss?
Habe hierzu gelesen, dass es ein Firely Terminal gibt und man "fhir install de.basisprofil.r4 1.0.0-alpha1" für die Installation verwendet, dies setzt doch aber einen eigenen FHIR Server voraus, auf dem ich dies so installieren kann?
(Falls ja, geht das auch innerhalb eines Docker Containers?)
Es gibt wahrscheinlich keine Möglichkeit einfach via z. B. "import xxx...basisprofil.r4..xxx" das BasisProfil in meine App mit einzubinden?
Vielen Dank für eure Hilfe. :grinning_face_with_smiling_eyes:
Morten Ernebjerg (Apr 13 2021 at 06:08):
Hi @Morris Miltz :wave:, Profile stellen letztendlich nur Regeln auf, wie bestimmte Resourcen für bestimmt Zwecke aussehen müssen. Wie Du die Regeln erfüllst, darfst Du selber entscheiden. So ist auch völlig OK, einfach "per Hand" die Resources in Deiner App korrekt zusammenzustellen, z.B. in JS/TS einfach als JSON oder mit Templates. In Java/Kotlin kann man die Standard Ressource-Klassen von HAPI FHIR benutzen und einfach sicherstellen, dass alles dem Profil entsprechend ausgefüllt ist. Dafür musstest Du auch nichts installieren, die Profile wären in dem fall szs. in Deinem Code implizit händisch eingepflegt.
Um zu überprüfen, ob eine Resource tatsächlich einem Profil entspricht, kann man sie dagegen validieren. Auf dem Command-Line kann man das z.B. mit den Standard-Validator machen, dem man dann die Profile zuspielen würde. Wenn man es zur Laufzeit machen möchtet, könnte man per HTTP einen FHIR-Server, der das Profil kennt, bitten, es zu Validieren. Wenn Du selber so einen Server aufsetzen möchtest (z.B. einen HAPI-Server), müsstest Du dann tatsächlich die Profile auch hochladen. Theoretisch könnte man, wenn man sich in einem Java/Kotlin-Umgebung befindet, auch Validierung mit HAPI FHIR direkt in einem App einbauen und müsste dann die Profile (qua StructureDefinition-Resources) bereitstellen. Ich denke aber, Runtime-Checks wäre eher ungewöhnlich für eine App, die nur nur ganz bestimmt Resources zusammensetzt oder ändert. Typischerweise würde man einfach während der Entwicklung sehr genau sicherstellen, dass die App nur Profil-Konforme Resources zusammenbaut (kann man ja auch als Test-Suite machen) und zur Runtime keine Checks machen - man lässt ja auch nicht die Unit-Tests mitlaufen, jedes mal wenn man eine App öffnet :smile:
Wenn im Kontext vom Firely Terminal vom Installieren gesprochen wird, geht es um die sogennante FHIR Packages (siehe hier), grob gesagt einheitlich versionierte Bündel von Profilen, die in einem NPM-ähnlichen Format (also wie Packages für Node.js) verpackt sind & so auchlokal in einem Cache ablegbar. Solche Packages können u.A. von Standard-Validator benutzt werden.
Morris Miltz (Apr 13 2021 at 06:16):
Hi @Morten Ernebjerg vielen vielen Dank für deine ausführliche Antwort, dies hat mich unglaublich weiter gebracht, jetzt kann ich die ganzen Dinge auch endlich greifen ^^, vielen lieben Dank nochmal :)
Morten Ernebjerg (Apr 13 2021 at 07:39):
Gerne! :smile:
Last updated: Apr 12 2022 at 19:14 UTC