[![Build](https://img.shields.io/badge/build-passing-brightgreen?style=flat-square)]() [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](https://opensource.org/licenses/Apache-2.0&style=flat-square) [![Lint: eslint](https://img.shields.io/github/workflow/status/prettier/prettier/Lint?label=Lint&style=flat-square)]() [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
Der MIO Parser ist ein JavaScript/TypeScript Package zum Parsen von medizinischen Informationsobjekten (MIO). MIOs dienen dazu, medizinische Daten - etwa in einer elektronischen Patientenakte - standardisiert, also nach einem festgelegten Format, zu dokumentieren. Sie können als kleine digitale Informationsbausteine verstanden werden, die universell verwendbar und kombinierbar sind. Beispiele für bereits entwickelte MIOs sind der Impfpass und das zahnärztliche Bonusheft. Mehr dazu auf https://mio.kbv.de.
Der Parser liest gültige JSON- und XML-FHIR Dokumente und gibt sie als Typescript-Objekte zurück. Gleichzeitig findet eine Validierung der Dokumente statt, sodass Fehler in den MIO-Dokumenten sichtbar werden.
Seit 2022 werden in der elektronische Patientenakte MIOs für alle Versicherten in Deutschland eingeführt. Die KBV hat den gesetzlichen Auftrag, die semantische und syntaktische Interoperabilität für Inhalte der elektronischen Patientenakte festzulegen. Zu diesem Zweck entwickelt die KBV die medizinischen Informationsobjekte, mit dem Ziel einen einheitlichen Standard zur Übertragung und Verarbeitung von medizinischen Daten zu definieren. Die MIOs werden in HL7® FHIR® profiliert.
Der MIO Parser ist ein Tool der KBV, um die Umsetzung der MIOs in IT-Systemen der medizinischen Versorgung (beispielsweise KIS, PVS und Apps der Versicherten) zu unterstützen. Hierfür wird es zur freien Nutzung zur Verfügung gestellt.
Diese Anweisungen sollen helfen, den Parser zu installieren und zu nutzen.
Node.js mit NPM muss installiert sein.
Über den Node Package Manager.
(NPM wird für die Installation benötigt)
# latest stable
$ npm install @kbv/mioparser
Alternativ kann die Software selbst über Git geladen und gebaut werden:
$ git clone https://github.com/kassenaerztliche-bundesvereinigung/mioparser.git
$ cd mioparser
$ npm install
$ npm build
Importieren des Parser Pakets
import MIOParser, { MIOParserResult, ZAEB } from "@kbv/mioparser";
const mioParser = new MIOParser();
Parsen in einer asynchronen Funktion
const result: MIOParserResult = await mioParser.parseFile(...);
Oder als Promise
mioParser.parseString("...").then((result) => {
// ...
});
Auswertung
const mio = result.value;
const errors = result.errors;
// Bundle
if (ZAEB.V1_1_0.Profile.Bundle.is(mio)) {
const zaeb = mio as ZAEB.V1_1_0.Profile.Bundle;
// ...
}
// Single Profile
if (ZAEB.V1_1_0.Profile.Patient.is(mio)) {
const patient = mio as ZAEB.V1_1_0.Profile.Patient;
// ...
}
Welche MIOs verarbeitet werden können kann dem Changelog entnommen werden.
import { Vaccination, ZAEB, MR } from "@kbv/mioparser";
Für weiterführende Informationen zu den medizinischen Informationsobjekten besuche die MIO-Plattform oder die KBV auf Simplifier.net.
Bespiele der Nutzung der Hilfsfunktionen des MIO Parsers
Ein Eintrag nach Profil
import { ParserUtil, ZAEB } from "@kbv/mioparser";
// ...
// Get patient from MIO
const patient = ParserUtil.getEntry(mio, [ZAEB.V1_1_0.Profile.Patient]);
Slices aus einem Array gemischter Typen
// Get patient identifier gkv
if (patient) {
const gkv = ParserUtil.getSlice(
ZAEB.V1_1_0.Profile.PatientVersichertenIdGKV,
patient.resource.identifier
);
}
Mehrere Einträge nach Profilen
// Get records from MIO
const records = ParserUtil.getEntries(mio, [
ZAEB.V1_1_0.Profile.Observation,
ZAEB.V1_1_0.Profile.GaplessDocumentation
]);
// Get persons from MIO
const persons = ParserUtil.getEntries(mio, [
ZAEB.V1_1_0.Profile.Patient,
ZAEB.V1_1_0.Profile.Organization
]);
Die Installation und das Ausführen der Tests kann so erfolgen:
npm install
npm run test
Derzeit ist keine Mitwirkung von externen Entwicklern vorgesehen. Dies kann sich aber ändern. #stayTuned
Softwarefehler können über die GitHub Issues Seite gemeldet werden.
Über GitHub oder die Mail-Adresse support.mio@kbv.de können Fragen gestellt werden, nach dem das FAQ konsultiert wurde.
Diese Software ist unter der Apache-2.0 Lizenz lizensiert worden - siehe LICENSE Datei für mehr Details. (c) 2020 - 2022 Kassenärztliche Bundesvereinigung KdöR