npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@kbv/mioparser

v1.8.0

Published

Typescript Package to parse KBV MIO-Objects into Typescript objects

Downloads

16

Readme

Build License Lint: eslint code style: prettier

MIO Parser

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.

Hintergrund

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.

Allgemeines

Diese Anweisungen sollen helfen, den Parser zu installieren und zu nutzen.

Anforderungen

Node Version NPM Version

Node.js mit NPM muss installiert sein.

Abhängigkeiten

Installation

Ü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

Grundlegende Nutzung

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;
    // ...
}

MIOs

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.

Erweiterte Nutzung

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
]);

Tests

Setup der Tests

Die Installation und das Ausführen der Tests kann so erfolgen:

npm install
npm run test

Mitwirken

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 [email protected] können Fragen gestellt werden, nach dem das FAQ konsultiert wurde.

Lizenz

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

Bekannte Fehler

  • Felder, die eine Kardinalität von 1..1 haben und eine extension erlauben (wie z.B. family bei Patient-> Name) sind optional, da derzeit eine Validierung im Sinne von "entweder das eine Feld oder das andere oder beide" nicht implementiert ist. Somit wird derzeit ein Dokument mit fehlendem "family" Feld als falsch positiv validiert.