Skip to content

Commit

Permalink
added mts
Browse files Browse the repository at this point in the history
  • Loading branch information
mtln committed Jan 31, 2025
1 parent ed7e6b3 commit 1a72e97
Show file tree
Hide file tree
Showing 6 changed files with 194 additions and 1 deletion.
173 changes: 173 additions & 0 deletions nbs/01_mts.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# mts\n",
"\n",
"> mts ist ein Web Tool, welches Rechnungen aus einem bestehenden CRM/ERP in das im Schweizer Gesundheitswesen verwendete GeneralInvoice-XML-Format umwandelt und via MediData an die Invalidenversicherung (IV) weiterreicht. Daten-Empfänger für alle IV-Stellen der Schweiz ist die Zentrale Ausgleichsstelle ZAS. \n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#| default_exp matlon_mts"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#| hide\n",
"#| echo: false\n",
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#| hide\n",
"from nbdev.showdoc import *\n",
"from IPython.display import Markdown\n",
"from matlon.model import *\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"(Because this is a tool specifically for the Swiss healthcare system, this page is in German instead of English.)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Wozu mts?\n",
"Zitat von der [ZAS-Website](https://www.zas.admin.ch/zas/de/home/partenaires-et-institutions-/paiement-des-prestations-individuelles-avs-ai/information-a-l-attention-des-fournisseurs-de-prestations.html):\n",
"\n",
"> \"Die ZAS strebt langfristig eine fast ausschliesslich elektronische Bearbeitung von Rechnungen für individuelle AHV/IV-Leistungen an.\"\n",
"\n",
"Leistungserbringer, deren Software nicht in der Lage ist, Rechnungen in das GeneralInvoice-XML-Format zu exportieren und zu übermitteln, stellt dies vor grosse Herausforderungen. Sie müssen entweder auf eine neue Software umsteigen, oder die Rechnungen nochmals mit allen Details manuell in einem Web-Formular erfassen.\n",
"\n",
"Mit __mts__ bietet matlon ein schlankes Tool an, welches alle notwendigen Rechnungsdaten aus dem vorhandenen CRM/ERP exportiert, validiert und in das GeneralInvoice-XML-Format umwandelt. mts orchestriert die anschliessende Übermittlung dieser Daten via MediData-Netz an die ZAS und die Verarbeitung und Quittierung allfälliger Rückweisungs-Meldungen der ZAS / IV-Stellen.\n",
"\n",
"Screenshot:\n",
"![mts Dashboard](mts1.jpg)\n",
"\n",
"## Welche CRM/ERP-Systeme werden unterstützt?\n",
"Wir programmieren im Rahmen eines Projekts einen Adapter, der exakt zu Ihrem vorhandenen System und den dortigen Datenstrukturen passt.\n",
"Für [b-at.ch](https://www.b-at.ch) haben wir beispielsweise einen Adapter geschrieben, der die Daten aus der [Teamleader](https://www.teamleader.eu)-Software exportiert.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Diagramme\n",
"## Sequenzdiagramm\n",
"```{mermaid}\n",
"sequenceDiagram\n",
" actor User as Benutzer\n",
" participant CRM as CRM<br>z.B. Teamleader\n",
" participant mts as mts<br>CRM Daten zu generalInvoice XML Format<br>Daten-Konverter Plattform für Leistungsabrechnungen\n",
" participant MediData\n",
" participant D as Empfänger<br>z.B. IV/ZAS\n",
" User->>CRM: Rechnung erstellen\n",
" mts->>+CRM: neue Rechnungen abholen\n",
" mts->>+mts: Rechnungen validieren und als XML aufbereiten\n",
" activate mts\n",
" User->>mts: Prüfen und Freigabe\n",
" mts->>MediData: Rechnung übermitteln\n",
" mts->>CRM: Status-Notiz erstellen\n",
" deactivate mts\n",
" MediData->>+D: Rechnung weiterreichen\n",
" D->>D: Rechnung prüfen, falls abgewiesen: Nachricht\n",
" D->>+MediData: Resultat zurückmelden\n",
" activate mts\n",
" mts->>+MediData: Resultate und Nachrichten abholen\n",
" mts->>+CRM: Status-Notiz erstellen\n",
" deactivate mts\n",
" User->>mts: Nachrichten ansehen und Quittieren\n",
"```\n",
"## Statusdiagramm\n",
"```{mermaid}\n",
"stateDiagram-v2\n",
" [*] --> ignoriert: Ignorieren Aktion\n",
" [*] --> registriert: Sync Aktion\n",
" registriert --> validiert: Validierung erfolgreich\n",
" registriert --> Validierung_fehlgeschlagen: Validierungsfehler\n",
" Validierung_fehlgeschlagen --> validiert: Sync Aktion\n",
" validiert --> exportiert_zu_MediData: Zu MediData hochladen Aktion\n",
" validiert --> validiert: Sync Aktion\n",
" validiert --> ignoriert: Ignorieren Aktion\n",
" validiert --> Export_zu_MediData_fehlgeschlagen: Zu MediData hochladen Aktion, MediData nicht erreichbar\n",
" exportiert_zu_MediData --> akzeptiert: Zahlungseingang\n",
" exportiert_zu_MediData --> zurückgewiesen: Antwort oder Notifikation\n",
" Export_zu_MediData_fehlgeschlagen --> exportiert_zu_MediData: Zu MediData hochladen Aktion\n",
" zurückgewiesen --> [*]: Nachdem Antwort oder Notifikation bestätigt wurde\n",
" akzeptiert --> [*]\n",
" ignoriert --> [*]\n",
" \n",
" note right of registriert: temporärer Übergangsstatus\n",
" \n",
" classDef transient stroke-dasharray: 5 5, fill: white\n",
" class registriert transient\n",
"```\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Interessiert?\n",
"Kontaktieren Sie [Andri Krämer](mailto:[email protected]).\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Nützliche Links\n",
"- [ZAS Infos zur elektronischen Rechnungsstellung AHV/IV](https://www.zas.admin.ch/zas/de/home/partenaires-et-institutions-/paiement-des-prestations-individuelles-avs-ai/information-a-l-attention-des-fournisseurs-de-prestations/fournisseur_de_prestations.html)\n",
"- [Forum Datenaustausch: Elektronische Kommunikation im Gesundheitswesen](https://www.forum-datenaustausch.ch/de/)\n",
"- [MediData](https://www.medidata.ch/md/web/de/)\n",
"- [b-at AG Beratung assistive Technologien](https://www.b-at.ch) (Referenzkunde)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#| hide\n",
"import nbdev; nbdev.nbdev_export()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "python3",
"language": "python",
"name": "python3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
12 changes: 12 additions & 0 deletions nbs/10_andri.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,18 @@
" i += 1\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#| echo: false\n",
"if i < len(projects):\n",
" display(Markdown(project_to_markdown(projects[i])))\n",
" i += 1\n"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand Down
3 changes: 2 additions & 1 deletion nbs/index.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"As a kid, whenever someone asked what I wanted to be when I grew up, I’d always say, 'an inventor.' Starting October 23, 2024, I'll be documenting my projects. So stay tuned and follow me as the website grows! \n",
"As a kid, whenever someone asked what I wanted to be when I grew up, I’d always say, 'an inventor.' Here, I am documenting my projects. So stay tuned and follow me as the website grows! \n",
"\n",
"* 2025-01-31: [mts](/01_mts.ipynb) ermöglicht Leistungserbringern, Rechnungen aus ihrem bestehenden CMS/ERP im GeneralInvoice-XML-Format auf elektronischem Weg via MediData an die Invalidenversicherung (IV) zu senden\n",
"* 2024-11-16: [Running Wheel Tracker](/10_andri.ipynb#running-wheel-tracker) Pet cage upgraded for the IoT era\n",
"* 2024-11-14: [Andri's CV](/11_andri_cv.ipynb) Joyfully bound to the endless journey of learning\n",
"* 2024-11-08: [chat-export, 2024-](/10_andri.ipynb#chat-export) My father asked me how he could print his WhatsApp chat history with my late brother. I had to realize that this was not possible, and there was no useful free tool to archive or print a chat in a nice format. So, I wrote one.\n",
Expand Down
Binary file added nbs/mts1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions nbs/projects.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,12 @@
"year_start": 2024,
"quote": "Write assessment reports for assistive technologies using AI",
"description": "batGPT is an AI tool for writing assessment reports for assistive technologies, using large language models (LLMs). By selecting keywords and entering short text fragments, a draft report is generated, which can then be manually completed and refined. The screenshot shows an example of such a draft\n\n ![Screenshot of batGPT: Input on the left, generated output on the right.](batgpt1.jpg)\n\nThis application was developed for [b-at Beratung assistive Technologien](https://b-at.ch) in 2024 and is being enhhanced and improved regularly, using the latest AI models and capabilities."
},{
"title": "mts",
"categories": ["miscellaneous"],
"year_start": 2025,
"quote": "A tool for electronic billing in the Swiss healthcare system",
"description": "There's a dedicated page for this project (in German): [mts](/01_mts.ipynb)"
},{
"title": "chat-export",
"categories": ["miscellaneous"],
Expand Down
1 change: 1 addition & 0 deletions nbs/sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ website:
sidebar:
contents:
- index.ipynb
- 01_mts.ipynb
- section: Andri Krämer
contents:
- 10_andri.ipynb
Expand Down

0 comments on commit 1a72e97

Please sign in to comment.