From b66def0644fa77f09b2c081e0c270ae4c6ececea Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Wed, 13 Nov 2024 11:31:47 +0100 Subject: [PATCH] Merge develop (#284) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Tim epa fdv (#250) * added API for org-admin * Commit from GitHub Actions (GeneratePlantumlImages) * removed FHIR-VZD use-case * Commit from GitHub Actions (GeneratePlantumlImages) * added FHIR-VZD use case * Commit from GitHub Actions (GeneratePlantumlImages) * add doc version * changes in chapter 3.2.2. * change heading at the beginning * new tags in TiMessengerTestTreiber.yaml * Testkonzept TI-Messenger-Dienst version 1.0 * TIM-TS 446: allow FHIR enum state "off" * TIM-TS 446: added correct versions * Updates release version * Marks required properties as required (#233) * Marks required properties as required * Bumps api version * Merges incoming changes * Fix typo * replaced FDV with generic Client * Commit from GitHub Actions (GeneratePlantumlImages) * Speed up image generation workflow * Commit from GitHub Actions (Generate PlantUML & draw.io images) * Split workflow * Commit from GitHub Actions (PlantUML images) * Pull with rebase before committing * Nuke plantuml images * Stash before pulling * Commit from GitHub Actions (PlantUML images) * Commit from GitHub Actions (draw.io images) * Update image paths * Uncomment path filters * Run workflows on change to self * Fix typo Fixes: #230 * Reset images folder * Commit from GitHub Actions (PlantUML images) * Commit from GitHub Actions (draw.io images) * Reset files pulled in from main * Nuke diagrams * Extract individual pages * Commit from GitHub Actions (draw.io images) * Use correct binary name * Commit from GitHub Actions (draw.io images) * Revert "Use correct binary name" This reverts commit cf1b3376126ffe672c074cce48a3f58ace9de075. * Revert "Extract individual pages" This reverts commit e2d322d6cb812b4fcfbf781426587bc3a38214a7. * Split files with more than one diagram * Add lint workflow * Commit from GitHub Actions (draw.io images) * Fix name * Revert "Split files with more than one diagram" This reverts commit 6a735d57f1fa2624dbf4e45090e777f3c02a556a. * Commit from GitHub Actions (draw.io images) * Revert "Revert "Split files with more than one diagram"" This reverts commit 4b73179dd1bc9adb753f29536570e0179e157e14. * Also run on push to main * Commit from GitHub Actions (draw.io images) * Remove spaces * Commit from GitHub Actions (draw.io images) * Fix paths * Add job for verifying image references * Don't pushd/popd per location * Use basename * Output pwd and location * Insert command * Add quotes * Nuke drawio exports * Also run on changes to generated files * Commit from GitHub Actions (draw.io images) * empty * Output tree * Output literal * Remove magic bytes * Move file * Move file back * Commit from GitHub Actions (draw.io images) * Fix case * Try using image macro * Use block image * Try using align attribute * Revert to original version * Use image block * Use image block * Use inline image * Insert back block delimiters * Replace remaining imgs * Nuke puml exports * Commit from GitHub Actions (PlantUML images) * Remove and assert absence of puml output file names * Commit from GitHub Actions (PlantUML images) * empty * Ensure absence of img tags * Run lint as part of export * Merge workflows and add linting * Add shell * Remove empty line * Fix file names * Fix name * Nuke images * Commit from GitHub Actions (Generate images) * Lint on tim-epa-fdv * Add lint badge * Add image gen badge * Remove line break * added org-admin client * Commit from GitHub Actions (Generate images) * added Push-Gateway und Org-Admin Client to TI-Messenger Kontext. * Commit from GitHub Actions (Generate images) * added example for federation list entries * changed Mitarbeiter to Akteur to be more unspecific * Commit from GitHub Actions (Generate images) * Update charts for TIM-1264 * Commit from GitHub Actions (Generate images) * added update of display name * Commit from GitHub Actions (Generate images) * Update further charts for TIM-1264 * Commit from GitHub Actions (Generate images) * removed Vorbedingung and federation tests * Commit from GitHub Actions (Generate images) * removed old Freigabeliste * Commit from GitHub Actions (Generate images) * changed optional to opt * Commit from GitHub Actions (Generate images) * added Basis consumer as alternativ for the connector * Commit from GitHub Actions (Generate images) * removed label at messenger client box * Commit from GitHub Actions (Generate images) * Update chart for TIM-1099 * Commit from GitHub Actions (Generate images) * Add chart for TIM-1060 * Commit from GitHub Actions (Generate images) * Add JSON schema validation into linting workflow * Skip Python setup * Introduce a schema error * Comment RC logic * Add another error * Revert back to RC logic * Add comment * Remove other error * Add example and try to lint it * Announce file being checked * Try fixing paths * Replace env * Add another example * Update diagram for TIM-1307 * Commit from GitHub Actions (Generate images) * Update diagram for TIM-1307 * Commit from GitHub Actions (Generate images) * Update schema for TIM-1307 * Disallow addition properties * Combine images into single folder * Fix image paths * Add empty file to trigger workflow * Commit from GitHub Actions (Generate images) * Review generated ePA images * Commit from GitHub Actions (Generate images) * Rearrange TI-M-Client images * Commit from GitHub Actions (Generate images) * Rearrange TI-M-Dienst images * added optional permission checks * Commit from GitHub Actions (Generate images) * Fix paths * Commit from GitHub Actions (Generate images) * removed client_id checks * Commit from GitHub Actions (Generate images) * Rearrange TI-M-Fachdienst images * Fix paths * Nuke images * Commit from GitHub Actions (Generate images) * Move remaining image * Commit from GitHub Actions (Generate images) * Move test images * Actually move test images * Actually actually move test images * Move pro images * Move further files * Commit from GitHub Actions (Generate images) * removed content in unused folder or shifted content to pro folder * removed all use cases * First checkpoint for uploading images to Polarion * Fix upload * Try to fix this mess * Move readme to correct folder * Join path components instead of replacing characters * Remove attachment uploader * Move lint-asciidoc action out of repo * Change SHA * Commit from GitHub Actions (Generate images) * Move drawio and plantuml actions * Move generate-images workflow out of repo * Update SHA * Update SHA * Update ref * Update ref * Update ref * Update ref * Update ref * Update ref * Update ref * Update ref * Fix typo * Update ref * Update ref * Nuke images * Commit from GitHub Actions (Generate images) * Remove leftover env variables * Pin actions to 0.1.0 * fixed inconsistent token naming * Commit from GitHub Actions (Generate images) * added system overview as draw io picture * Commit from GitHub Actions (Generate images) * resized the organisation * Commit from GitHub Actions (Generate images) * connected Push-Gateway to Proxy * Commit from GitHub Actions (Generate images) * some minor reorgnizations * Commit from GitHub Actions (Generate images) * added client - proxy connection * Commit from GitHub Actions (Generate images) * added connection from vzd auth to Proxy(userinfo Endpoint) * Commit from GitHub Actions (Generate images) * added use cases for hide-versicherte * Commit from GitHub Actions (Generate images) * Updated UI Mockup * Commit from GitHub Actions (Generate images) * Move image for UC-10104 to TI-M Pro * Commit from GitHub Actions (Generate images) * changed message for org-admin * Commit from GitHub Actions (Generate images) * Update image for TIM-1514 * Commit from GitHub Actions (Generate images) * added more detailed ui example for ePA and Pro * Commit from GitHub Actions (Generate images) * added better exception example * Commit from GitHub Actions (Generate images) * added seperate schemas for epa and pro * Update image for TIM-1514 * Commit from GitHub Actions (Generate images) * replaced <> with {} * Commit from GitHub Actions (Generate images) * Remove use cases --------- Co-authored-by: ichderjens Co-authored-by: andre.wagner Co-authored-by: stefanie.boxhorn Co-authored-by: Beff42 <83531917+Beff42@users.noreply.github.com> Co-authored-by: marlene.bueltemann Co-authored-by: Johannes Marbach Co-authored-by: Johannes Marbach Co-authored-by: Johennes Co-authored-by: Oliver Feja Co-authored-by: ofegem * Fix broken gemILF_VZD_FHIR_Directory links (#251) * Fix broken gemILF_VZD_FHIR_Directory links * Update to 1.2.2 implementation guide * Lint AsciiDoc links (#252) * Lint AsciiDoc links * Prefix absolute paths with git root * Ignore hashes * Fix typo and check for existence * Eliminate docsdir * Exclude images but include other URLs * Strip fragments * Output path * Fix path substitution bug * Only verify http links * Try GET if HEAD fails * Try OPTIONS before HEAD * Add exceptions * Fix dots and warn * Use globs * Replace welcome package links * Fix dead links * Rearrange actions * Remove references to epa branch * added information api (#253) * added information api * Update src/openapi/TiMessengerInformation.yaml Co-authored-by: Johannes Marbach * Update src/openapi/TiMessengerInformation.yaml Co-authored-by: Johannes Marbach * Update src/openapi/TiMessengerInformation.yaml Co-authored-by: Johannes Marbach * removed version from server url and added versioning for domain search --------- Co-authored-by: Johannes Marbach * Clarify /owner-authenticate flow for Org-Admin (#255) Fixes: #203 * Updated page for registration service (#256) * aligned page for registration service with specification * aligned specification and github page (#257) * aligned specification and github page * removed UC pictures * Commit from GitHub Actions (Generate images) * Domain -> Servername (#259) * Replace domain with server in images * Rename domain to server in new schemas * Update image for TIM-1556 (#260) * Update image for TIM-1556 * removed QR Code part * changed references to fhir-vzd documenation & removed our page * corrected links * Update README.adoc * Update README.adoc * Update docs/Foederationsliste/Foederationsliste.adoc * Update docs/Foederationsliste/Foederationsliste.adoc * Update image for TIM-1561 * Commit from GitHub Actions (Generate images) * Add isInsurance endpoint (#263) * Add isInsurance endpoint * Remove DefaultResponse * Reset src/openapi/TiMessengerTestTreiber.yaml (#265) * Add release notes (#266) * merge main into develop (#267) * fix links from idp.adoc to internal requirements documents * Adds better documentation of where the mxid is required in its url fo… (#228) * Adds better documentation of where the mxid is required in its url format --------- Co-authored-by: TVRiddle <44850999+TVRiddle@users.noreply.github.com> * Fixes issue with code generation * new tags in TiMessengerTestTreiber.yaml * TIM-TS 446: allow FHIR enum state "off" * TIM-TS 446: added correct versions * Updates release version * Marks required properties as required (#233) * Marks required properties as required * Bumps api version * Merges incoming changes * Fix typo * Removes test driver api and adds fachportal links to welcome package (#237) * added new permissionConfig and examples * Update FHIR-Directory.adoc * Document previously unspecified but already implemented MXID header * Mention second endpoint * Update logo (#275) * Update logo * Update license footer (#274) * Update license footer * Update license (#273) * added page for client apis * minor changes * minor updates * minor changes --------- Co-authored-by: gem-jn Co-authored-by: ichderjens Co-authored-by: andre.wagner Co-authored-by: stefanie.boxhorn Co-authored-by: Beff42 <83531917+Beff42@users.noreply.github.com> Co-authored-by: marlene.bueltemann Co-authored-by: Johennes Co-authored-by: Oliver Feja Co-authored-by: ofegem --- LICENSE.md | 201 +++++++++++++++++- README.adoc | 26 ++- ReleaseNotes.md | 4 +- docs/Authenticator/authenticator.adoc | 3 +- docs/Client/Automatisierung.adoc | 45 ++++ docs/Client/Client.adoc | 2 +- docs/FAQ/FAQ.adoc | 2 +- docs/Fachdienst/Fachdienst.adoc | 2 +- docs/Fachdienst/MessengerService.adoc | 2 +- docs/Fachdienst/Registrierungsdienst.adoc | 2 +- docs/Foederationsliste/Foederationsliste.adoc | 2 +- docs/IDP/idp.adoc | 2 +- docs/Primaersystem/Primaersystem.adoc | 2 +- docs/Test/Test.adoc | 2 +- docs/anwendungsfaelle/COM-chatbot.adoc | 2 +- images/meta/Gematik_Logo_Flag.png | Bin 19966 -> 0 bytes images/meta/gematik.png | Bin 0 -> 36991 bytes images/meta/gematik_logo.svg | 1 - 18 files changed, 263 insertions(+), 37 deletions(-) create mode 100644 docs/Client/Automatisierung.adoc delete mode 100644 images/meta/Gematik_Logo_Flag.png create mode 100644 images/meta/gematik.png delete mode 100644 images/meta/gematik_logo.svg diff --git a/LICENSE.md b/LICENSE.md index 9f602499..2356c751 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,15 +1,194 @@ -# License +Apache License +============== -Copyright (c) 2023 gematik GmbH +_Version 2.0, January 2004_ +_<>_ -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at +# TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -http://www.apache.org/licenses/LICENSE-2.0 +## 1. Definitions -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file +“License” shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +“Licensor” shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +“Legal Entity” shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, “control” means **(i)** the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the +outstanding shares, or **(iii)** beneficial ownership of such entity. + +“You” (or “Your”) shall mean an individual or Legal Entity exercising +permissions granted by this License. + +“Source” form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +“Object” form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +“Work” shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +“Derivative Works” shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +“Contribution” shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +“submitted” means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as “Not a Contribution.” + +“Contributor” shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +## 2. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +## 3. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +## 4. Redistribution + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +* **(a)** You must give any other recipients of the Work or Derivative Works a copy of +this License; and +* **(b)** You must cause any modified files to carry prominent notices stating that You +changed the files; and +* **(c)** You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. + +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +## 5. Submission of Contributions + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +## 6. Trademarks + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +## 7. Disclaimer of Warranty + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +## 8. Limitation of Liability + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +## 9. Accepting Warranty or Additional Liability + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +_END OF TERMS AND CONDITIONS_ + +# APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets `[]` replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same “printed page” as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.adoc b/README.adoc index 62d2533d..a63dd55f 100644 --- a/README.adoc +++ b/README.adoc @@ -10,9 +10,11 @@ endif::[] ifndef::env-github[:source-style: source] :imagesdir: ./images/ + +image::meta/gematik.png[logo,width=250,height=47,role=right] + = TI Messenger Documentation v1.1.1 -image::meta/gematik_logo.svg[gematik,width="70%"] image:https://github.com/gematik/api-ti-messenger/actions/workflows/lint.yml/badge.svg[link="https://github.com/gematik/api-ti-messenger/actions/workflows/lint.yml"] image:https://github.com/gematik/api-ti-messenger/actions/workflows/generate-images.yml/badge.svg[link="https://github.com/gematik/api-ti-messenger/actions/workflows/generate-images.yml"] @@ -114,6 +116,9 @@ link:docs/Client/Client.adoc[- TI-Messenger-Client] + link:https://github.com/gematik/api-vzd/blob/main/docs/Fachkonzept_FHIR-Directory.adoc[- VZD-FHIR-Directory] + link:docs/IDP/idp.adoc[- Zentraler IDP-Dienst] + +*Nutzung des TI-Messenger-Clients: Automatisierung und Schnittstellenintegration* + +link:docs/Client/Automatisierung.adoc[- Automatisierung und Schnittstellenintegration] + + *Leitfaden für Primärsystemhersteller* + link:docs/Primaersystem/Primaersystem.adoc[- Primärsystem] + @@ -127,16 +132,15 @@ link:docs/FAQ/FAQ.adoc[- Fragen und Antworten zur aktuellen Spezifikation [F - [comming soon] == Lizenzbedingungen -Copyright (c) 2023 gematik GmbH -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at +Copyright 2023 gematik GmbH + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. + +See the link:./LICENSE.md[LICENSE] for the specific language governing permissions and limitations under the License. + +Unless required by applicable law the software is provided "as is" without warranty of any kind, either express or implied, including, but not limited to, the warranties of fitness for a particular purpose, merchantability, and/or non-infringement. The authors or copyright holders shall not be liable in any manner whatsoever for any damages or other claims arising from, out of or in connection with the software or the use or other dealings with the software, whether in an action of contract, tort, or otherwise. -http://www.apache.org/licenses/LICENSE-2.0 +The software is the result of research and development activities, therefore not necessarily quality assured and without the character of a liable product. For this reason, gematik does not provide any support or other user assistance (unless otherwise stated in individual cases and without justification of a legal obligation). Furthermore, there is no claim to further development and adaptation of the results to a more current state of the art. -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. +Gematik may remove published results temporarily or permanently from the place of publication at any time without prior notice or justification. diff --git a/ReleaseNotes.md b/ReleaseNotes.md index a282a608..10473d90 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,5 +1,5 @@ -Gematik Logo
- +Gematik Logo + # Release Notes api-ti-messenger ## tim-pro-1.0.0 diff --git a/docs/Authenticator/authenticator.adoc b/docs/Authenticator/authenticator.adoc index 5bdacc4e..bce00f2e 100644 --- a/docs/Authenticator/authenticator.adoc +++ b/docs/Authenticator/authenticator.adoc @@ -13,11 +13,10 @@ endif::[] :numbered: :sectnumlevels: 6 -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] - = gematik Authenticator == Überblick Für die Authentifizierung mittels Smartcard stellt die gematik einen eigenen *Authenticator* zur Verfügung. Hersteller eines *TI-Messenger-Dienstes* können auch eigene Authenticator Lösungen entwickeln, um zum Beispiel an mobilen Endgeräten eine Interaktion mit Smartcards über die NFC-Schnittstelle zu realisieren. Im folgenden wird auf den *Authenticator* der gematik eingegangen. diff --git a/docs/Client/Automatisierung.adoc b/docs/Client/Automatisierung.adoc new file mode 100644 index 00000000..d573d350 --- /dev/null +++ b/docs/Client/Automatisierung.adoc @@ -0,0 +1,45 @@ +ifdef::env-github[] +:tip-caption: :bulb: +:note-caption: :information_source: +:important-caption: :heavy_exclamation_mark: +:caution-caption: :fire: +:warning-caption: :warning: +endif::[] + +:imagesdir: ../../images +:toc: macro +:toclevels: 6 +:toc-title: Inhaltsverzeichnis +:numbered: +:sectnumlevels: 6 + +image::meta/gematik.png[logo,width=250,height=47,role=right] + +toc::[] + += Nutzung des TI-Messenger-Clients: Automatisierung und Schnittstellenintegration +== Szenariobeschreibung +Die TI-Messenger-Spezifikation regelt TI-Messenger-Fachdienste und -Clients hinsichtlich bestimmter Eigenschaften, die für den sicheren Betrieb als Anwendung der TI erforderlich sind. In diesem Sinne macht die Spezifikation Vorschriften zur Güte von Zufallszahlen, zu verwendender kryptographischer Primitiven und vieler anderer funktionaler und sicherheitstechnischer Eigenschaften. +Damit beschreibt die Spezifikation aber keinen einzelnen konkreten Fachdienst oder Client mit all seinen Eigenschaften, die so und nicht anders zu wählen sind. Vielmehr spannt die Spezifikation einen Raum auf, innerhalb dessen sich verschiedene konforme und damit zulassungsfähige Fachdienste und Clients manifestieren können. + +Der TI-Messenger-Client ist gemäß aktueller Spezifikation grundsätzlich ein Stück Software, das mit einer graphischen Nutzeroberfläche (GUI) ausgestattet ist, die von Endanwendern für die Kommunikation mit anderen TI-M-Nutzern verwendet wird. Die Gestaltung der GUI unterliegt ein paar wenigen Regelungen hinsichtlich der Kenntlichmachung bestimmter Informationen und anderer Aspekte, lässt ansonsten aber viele Freiheitsgrade, was das konkrete Erscheinungsbild betrifft. Jedoch, während die grundsätzliche Existenz einer GUI gefordert wird, muss die Bedienung des Clients nicht zwangsläufig über diese erfolgen. + +Die KANN-Anforderung link:https://gemspec.gematik.de/prereleases/Draft_TI-Messenger_24_2/gemSpec_TI-M_Pro_V1.0.0_CC/#A_25544[A_25544] erlaubt die Bereitstellung zusätzlicher Schnittstellen durch den TI-Messenger-Client, damit Drittsysteme - damit sind die Primärsysteme der Kostenträger und Leistungserbringer gemeint - auf diesen zugreifen können und macht dabei keine Vorgaben zur Art und Umfang der Schnittstelle. Damit muss ein Client gemäß voriger Ausführung immer noch ein GUI haben. Letztlich kann der Client aber vollständig per zusätzlicher Schnittstelle gesteuert werden, die derart gestaltet werden kann, dass ein Drittsystem die Funktionalität des TI-M-Clients den eigenen Anforderungen entsprechend integrieren kann. + +In solch einer Konstellation kann der eigentliche TI-Messenger-Client - damit ist das Stück Software gemeint, dass von der gematik spezifiziert und zugelassen wird, nicht das Front-End welches ihn durch die zusätzliche Schnittstelle (fern-)steuert - in einem Backend betrieben werden, auf das Endanwender keinen direkten Zugriff haben und auch nicht haben müssen, da die Steuerung über die zusätzliche Schnittstelle erfolgt, für die das eigene Primärsystem das Frontend stellt. + +In Abhängigkeit davon, welchen Umfang die zusätzliche Schnittstelle hat, ist die Bedienung des TI-Messenger-Clients über seine eigene GUI nicht oder nur in geringem Maße notwendig. Zum jetzigen Zeitpunkt erscheint es aber plausibel, dass die initiale Konfiguration des Clients die Bedienung über das eigene GUI des Clients erfordern. Damit ist der Login des Clients in ein TI-Messenger-Nutzerkonto gemeint, in dessen Rahmen es auch zur Zwei-Faktor-Authentisierung kommt, und eventuell die Aktivierung der zusätzlichen Schnittstelle vorgenommen wird, so dass der Client eben nicht durch sein eigenes GUI gesteuert werden muss. + +Der Login des Clients, der hier als notwendiger Schritt für die Inbetriebnahme benannt wurde, ist ein Schritt, der üblicherweise nur einmalig ausgeführt wird. Der erfolgreiche Login des Clients führt zur Ausstellung von Access- und Refresh-Token durch den Fachdienst, auf deren Grundlage der Client eingeloggt bleibt, unabhängig davon, ob der Client zwischenzeitlich abgeschaltet oder gar das ganze Host-System heruntergefahren wird. Einzige Kriterien für den Erhalt des Zustands "eingeloggt", sind: + +- dass die Token nicht mutwillig entfernt werden (bspw. durch manuelles Löschen im Dateisystem), +- dass der Client nicht proaktiv ausgeloggt wird und +- dass der Client in einem Zeitraum von sechs Monaten wenigstens einmal Kontakt zum Fachdienst hatte. + +Es kann plausiblerweise angenommen werden, dass diese drei Kriterien regelmäßig dauerhaft erfüllt sind und es deshalb nicht zu Fällen kommt, in denen ein einmal eingerichteter Client mit aktivierter Schnittstelle für das Drittsystem wiederholt über sein eigenes GUI angesteuert werden muss, um derartige Prozesse zu wiederholen. Der hier beschriebene, idealerweise nur einmal ausgeführte Login des Clients am Fachdienst, erfordert wie bereits erwähnt die Authentisierung mittels zweiten Faktors (2FA), bei dem es sich auch um die SMC-B oder HSM-B der jeweiligen Institution bzw. Kostenträgers handeln kann, die für den Authentisierenden praktisch unsichtbar nachgenutzt werden kann. Die 2FA steht in direktem Zusammenhang zum Login und muss in diesem Sinne auch nur einmalig durchgeführt werden, wenn die drei genannten Kriterien erfüllt bleiben. Der Login mittels 2FA muss nicht zwingend durch den Kassenmitarbeiter erfolgen, der auch das Frontend benutzt, sondern kann ebenso durch einen Administrator oder eine andere von der Institution berechtigte Person durchgeführt werden. + +Die zusätzliche Schnittstelle des Clients zur Nachnutzung durch ein Drittsystem macht keine Vorgaben zur Art der Authentisierung. Weiterhin gibt es keine Einschränkung dahingehend, durch wie viele Nutzer eine eingeloggte TI-Messenger-Client-Instanz verwendet wird, sodass bspw. im Fall von Funktionsaccounts ein Pool von Mitarbeitern die Kommunikation über einen eingeloggten Client abwickeln kann. + +Der TI-Messenger-Client übernimmt die Ende-zu-Ende-Verschlüsselung (E2EE), die eine der zentralen Sicherheitsleistungen des TI-Messengers darstellt, was unter anderem auch die Notwendigkeit seiner Zulassung begründet. Im beschriebenen Szenario der Steuerung des Clients durch eine zusätzliche Schnittstelle, die vom Primärsystem genutzt wird, endet die E2EE ebenfalls am Client. Von dort aus werden ausgetauschte Inhalte dann weiter zum Frontend des Primärsystems transportiert, weshalb es in solchen Szenarien wichtig ist, dass die Transportstrecke zwischen Client - der sich womöglich in einem Backend befindet - und dem Frontend hinreichend geschützt ist. Gleiches gilt für die Umgebung, in der der eigentliche TI-Messenger-Client, der die E2EE terminiert, betrieben wird. + +Das hier beschriebene Szenario hat zum Ziel, die grundsätzliche Machbarkeit der Integration der Funktionen des TI-Messengers in ein Drittsystem unter Einhaltung der Anforderungen der aktuellen Spezifikation zu illustrieren. In diesem Sinne berücksichtigt das Szenario die geforderte Existenz eines GUI, obgleich dieses nicht zwingend verwendet werden muss und stattdessen eine frei gestaltbare zusätzliche Schnittstelle zum Einsatz kommen kann. Jenseits der Inbetriebnahme erfüllt die graphische Oberfläche in diesem Szenario aber auch keinen weiteren Zweck, weshalb die Spezifikation eines Clients, der ohne GUI auskommt und damit besser für den Betrieb in einem Backend geeignet ist, sinnvoll erscheint. Die Spezifikation eines solchen headless Clients ist für eine folgende Version der Spezifikation aufgeplant. diff --git a/docs/Client/Client.adoc b/docs/Client/Client.adoc index b23272f7..782f674e 100644 --- a/docs/Client/Client.adoc +++ b/docs/Client/Client.adoc @@ -13,7 +13,7 @@ endif::[] :numbered: :sectnumlevels: 6 -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] diff --git a/docs/FAQ/FAQ.adoc b/docs/FAQ/FAQ.adoc index d0ebd46f..5465c822 100644 --- a/docs/FAQ/FAQ.adoc +++ b/docs/FAQ/FAQ.adoc @@ -12,7 +12,7 @@ endif::[] :toc-title: Table of Contents :numbered: -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] diff --git a/docs/Fachdienst/Fachdienst.adoc b/docs/Fachdienst/Fachdienst.adoc index e204bae3..e83f3a73 100644 --- a/docs/Fachdienst/Fachdienst.adoc +++ b/docs/Fachdienst/Fachdienst.adoc @@ -12,7 +12,7 @@ endif::[] :toc-title: Inhaltsverzeichnis :numbered: -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] = TI-Messenger-Fachdienst diff --git a/docs/Fachdienst/MessengerService.adoc b/docs/Fachdienst/MessengerService.adoc index dd5ef495..d38e8d99 100644 --- a/docs/Fachdienst/MessengerService.adoc +++ b/docs/Fachdienst/MessengerService.adoc @@ -13,7 +13,7 @@ endif::[] :numbered: :sectnumlevels: 5 -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] diff --git a/docs/Fachdienst/Registrierungsdienst.adoc b/docs/Fachdienst/Registrierungsdienst.adoc index 458350f1..be672b30 100644 --- a/docs/Fachdienst/Registrierungsdienst.adoc +++ b/docs/Fachdienst/Registrierungsdienst.adoc @@ -12,7 +12,7 @@ endif::[] :toc-title: Inhaltsverzeichnis :numbered: -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] diff --git a/docs/Foederationsliste/Foederationsliste.adoc b/docs/Foederationsliste/Foederationsliste.adoc index f0e81e5e..34d97a0d 100644 --- a/docs/Foederationsliste/Foederationsliste.adoc +++ b/docs/Foederationsliste/Foederationsliste.adoc @@ -12,7 +12,7 @@ endif::[] :toc-title: Table of Contents :numbered: -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] diff --git a/docs/IDP/idp.adoc b/docs/IDP/idp.adoc index 3b5e185a..8cf3f2e7 100644 --- a/docs/IDP/idp.adoc +++ b/docs/IDP/idp.adoc @@ -13,7 +13,7 @@ endif::[] :numbered: :sectnumlevels: 6 -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] diff --git a/docs/Primaersystem/Primaersystem.adoc b/docs/Primaersystem/Primaersystem.adoc index 6829b855..d3427add 100644 --- a/docs/Primaersystem/Primaersystem.adoc +++ b/docs/Primaersystem/Primaersystem.adoc @@ -13,7 +13,7 @@ endif::[] :numbered: :sectnumlevels: 6 -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] toc::[] diff --git a/docs/Test/Test.adoc b/docs/Test/Test.adoc index 77a9bed7..97b72b5e 100644 --- a/docs/Test/Test.adoc +++ b/docs/Test/Test.adoc @@ -13,7 +13,7 @@ endif::[] :numbered: :sectnumlevels: 6 -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] = Testkonzept TI-Messenger-Dienst gematik diff --git a/docs/anwendungsfaelle/COM-chatbot.adoc b/docs/anwendungsfaelle/COM-chatbot.adoc index 5d3365e7..29909f3d 100644 --- a/docs/anwendungsfaelle/COM-chatbot.adoc +++ b/docs/anwendungsfaelle/COM-chatbot.adoc @@ -8,7 +8,7 @@ endif::[] :imagesdir: ../../images -image:meta/gematik_logo.svg[width=70%] +image::meta/gematik.png[logo,width=250,height=47,role=right] === Kommunikation mit einem Chatbot Im Folgenden wird ein Beispiel für eine mögliche Zuordnung für die Abbildung von Funktionsaccounts mit Hilfe von Chatbots und eines Akteurs der stellvertretend für die Organisation auftritt. diff --git a/images/meta/Gematik_Logo_Flag.png b/images/meta/Gematik_Logo_Flag.png deleted file mode 100644 index fc27adee2ad11747c8a12ce0d138abefa256941f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19966 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 bM7lVHeYI*k$2a#hT;*G$k2~Kr?5BSNELDEo diff --git a/images/meta/gematik.png b/images/meta/gematik.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c929317c0f07ee752cafac1567e547b77c961c GIT binary patch literal 36991 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