Compare commits

...

3 commits

25 changed files with 1088 additions and 275 deletions

View file

@ -24,6 +24,7 @@
"zod": "^3.22.4"
},
"devDependencies": {
"@faker-js/faker": "^8.3.1",
"@playwright/test": "^1.40.1",
"@sveltejs/adapter-node": "^2.0.0",
"@sveltejs/kit": "^2.0.0",
@ -47,6 +48,7 @@
"svelte-check": "^3.6.2",
"tailwindcss": "^3.3.6",
"tslib": "^2.6.2",
"tsx": "^4.7.0",
"typescript": "^5.3.3",
"vite": "^5.0.0",
"vitest": "^1.0.0"

View file

@ -22,6 +22,9 @@ dependencies:
version: 3.22.4
devDependencies:
'@faker-js/faker':
specifier: ^8.3.1
version: 8.3.1
'@playwright/test':
specifier: ^1.40.1
version: 1.40.1
@ -91,6 +94,9 @@ devDependencies:
tslib:
specifier: ^2.6.2
version: 2.6.2
tsx:
specifier: ^4.7.0
version: 4.7.0
typescript:
specifier: ^5.3.3
version: 5.3.3
@ -396,6 +402,11 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@faker-js/faker@8.3.1:
resolution: {integrity: sha512-FdgpFxY6V6rLZE9mmIBb9hM0xpfvQOSNOLnzolzKwsE1DH+gC7lEKV1p1IbR0lAYyvYd5a4u3qWJzowUkw1bIw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'}
dev: true
/@humanwhocodes/config-array@0.11.13:
resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
engines: {node: '>=10.10.0'}
@ -1650,6 +1661,12 @@ packages:
engines: {node: '>=16'}
dev: true
/get-tsconfig@4.7.2:
resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
dependencies:
resolve-pkg-maps: 1.0.0
dev: true
/glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
@ -2440,6 +2457,10 @@ packages:
engines: {node: '>=4'}
dev: true
/resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
dev: true
/resolve@1.22.8:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
@ -2846,6 +2867,17 @@ packages:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
dev: true
/tsx@4.7.0:
resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==}
engines: {node: '>=18.0.0'}
hasBin: true
dependencies:
esbuild: 0.19.10
get-tsconfig: 4.7.2
optionalDependencies:
fsevents: 2.3.3
dev: true
/type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}

View file

@ -21,7 +21,6 @@ CREATE TABLE "users" (
"id" SERIAL NOT NULL,
"name" TEXT,
"email" TEXT,
"emailVerified" TIMESTAMP(3),
CONSTRAINT "users_pkey" PRIMARY KEY ("id")
);
@ -38,7 +37,7 @@ CREATE TABLE "stations" (
CREATE TABLE "rooms" (
"id" SERIAL NOT NULL,
"name" TEXT NOT NULL,
"stationId" INTEGER NOT NULL,
"station_id" INTEGER NOT NULL,
CONSTRAINT "rooms_pkey" PRIMARY KEY ("id")
);
@ -46,11 +45,11 @@ CREATE TABLE "rooms" (
-- CreateTable
CREATE TABLE "patients" (
"id" SERIAL NOT NULL,
"firstName" TEXT NOT NULL,
"lastName" TEXT NOT NULL,
"first_name" TEXT NOT NULL,
"last_name" TEXT NOT NULL,
"age" INTEGER,
"roomId" INTEGER,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"room_id" INTEGER,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "patients_pkey" PRIMARY KEY ("id")
);
@ -68,8 +67,8 @@ CREATE TABLE "categories" (
-- CreateTable
CREATE TABLE "entries" (
"id" SERIAL NOT NULL,
"patientId" INTEGER NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"patient_id" INTEGER NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "entries_pkey" PRIMARY KEY ("id")
);
@ -77,26 +76,26 @@ CREATE TABLE "entries" (
-- CreateTable
CREATE TABLE "entry_versions" (
"id" SERIAL NOT NULL,
"entryId" INTEGER NOT NULL,
"entry_id" INTEGER NOT NULL,
"text" TEXT NOT NULL,
"date" TIMESTAMP(3) NOT NULL,
"categoryId" INTEGER,
"category_id" INTEGER,
"priority" BOOLEAN NOT NULL,
"authorId" INTEGER NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"author_id" INTEGER NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "entry_versions_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "entry_execution" (
CREATE TABLE "entry_executions" (
"id" SERIAL NOT NULL,
"entryId" INTEGER NOT NULL,
"entry_id" INTEGER NOT NULL,
"text" TEXT NOT NULL,
"authorId" INTEGER NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"author_id" INTEGER NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "entry_execution_pkey" PRIMARY KEY ("id")
CONSTRAINT "entry_executions_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
@ -109,25 +108,25 @@ CREATE UNIQUE INDEX "users_email_key" ON "users"("email");
ALTER TABLE "accounts" ADD CONSTRAINT "accounts_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "rooms" ADD CONSTRAINT "rooms_stationId_fkey" FOREIGN KEY ("stationId") REFERENCES "stations"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "rooms" ADD CONSTRAINT "rooms_station_id_fkey" FOREIGN KEY ("station_id") REFERENCES "stations"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "patients" ADD CONSTRAINT "patients_roomId_fkey" FOREIGN KEY ("roomId") REFERENCES "rooms"("id") ON DELETE SET NULL ON UPDATE CASCADE;
ALTER TABLE "patients" ADD CONSTRAINT "patients_room_id_fkey" FOREIGN KEY ("room_id") REFERENCES "rooms"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "entries" ADD CONSTRAINT "entries_patientId_fkey" FOREIGN KEY ("patientId") REFERENCES "patients"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "entries" ADD CONSTRAINT "entries_patient_id_fkey" FOREIGN KEY ("patient_id") REFERENCES "patients"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_entryId_fkey" FOREIGN KEY ("entryId") REFERENCES "entries"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_entry_id_fkey" FOREIGN KEY ("entry_id") REFERENCES "entries"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "categories"("id") ON DELETE SET NULL ON UPDATE CASCADE;
ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_category_id_fkey" FOREIGN KEY ("category_id") REFERENCES "categories"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_author_id_fkey" FOREIGN KEY ("author_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "entry_execution" ADD CONSTRAINT "entry_execution_entryId_fkey" FOREIGN KEY ("entryId") REFERENCES "entries"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "entry_executions" ADD CONSTRAINT "entry_executions_entry_id_fkey" FOREIGN KEY ("entry_id") REFERENCES "entries"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "entry_execution" ADD CONSTRAINT "entry_execution_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "entry_executions" ADD CONSTRAINT "entry_executions_author_id_fkey" FOREIGN KEY ("author_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;

View file

@ -0,0 +1,29 @@
ALTER TABLE entries
ADD COLUMN tsvec tsvector;
CREATE FUNCTION public.update_entry_tsvec () RETURNS TRIGGER LANGUAGE plpgsql AS $function$
declare
v_text text := '';
x_text text := '';
begin
select text into v_text from entry_versions ev where ev.entry_id = new.entry_id order by ev.created_at desc limit 1;
select text into x_text from entry_executions ex where ex.entry_id = new.entry_id order by ex.created_at desc limit 1;
update entries set tsvec =
to_tsvector('german', coalesce(v_text, '')) ||
to_tsvector('german', coalesce(x_text, ''))
where id = new.entry_id;
RETURN NEW;
END
$function$;
CREATE TRIGGER entry_versions_update_tsvec
AFTER INSERT
OR
UPDATE ON entry_versions FOR EACH ROW
EXECUTE PROCEDURE update_entry_tsvec ();
CREATE TRIGGER entry_execution_update_tsvec
AFTER INSERT
OR
UPDATE ON entry_executions FOR EACH ROW
EXECUTE PROCEDURE update_entry_tsvec ();

View file

@ -14,7 +14,7 @@ datasource db {
model Account {
id Int @id @default(autoincrement())
userId Int
user_id Int @map("userId")
type String
provider String
providerAccountId String
@ -26,17 +26,16 @@ model Account {
id_token String? @db.Text
session_state String?
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
user User @relation(fields: [user_id], references: [id], onDelete: Cascade)
@@unique([provider, providerAccountId])
@@map("accounts")
}
model User {
id Int @id @default(autoincrement())
name String?
email String? @unique
emailVerified DateTime?
id Int @id @default(autoincrement())
name String?
email String? @unique
accounts Account[]
EntryVersion EntryVersion[]
@ -58,25 +57,25 @@ model Station {
// Hospital room
model Room {
id Int @id @default(autoincrement())
name String
station Station @relation(fields: [stationId], references: [id], onDelete: Cascade)
stationId Int
Patient Patient[]
id Int @id @default(autoincrement())
name String
station Station @relation(fields: [station_id], references: [id], onDelete: Cascade)
station_id Int
Patient Patient[]
@@map("rooms")
}
model Patient {
id Int @id @default(autoincrement())
firstName String
lastName String
age Int?
room Room? @relation(fields: [roomId], references: [id], onDelete: SetNull)
roomId Int?
Entry Entry[]
id Int @id @default(autoincrement())
first_name String
last_name String
age Int?
room Room? @relation(fields: [room_id], references: [id], onDelete: SetNull)
room_id Int?
Entry Entry[]
createdAt DateTime @default(now())
created_at DateTime @default(now())
@@map("patients")
}
@ -93,49 +92,49 @@ model Category {
}
model Entry {
id Int @id @default(autoincrement())
patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)
patientId Int
id Int @id @default(autoincrement())
patient Patient @relation(fields: [patient_id], references: [id], onDelete: Cascade)
patient_id Int
EntryVersion EntryVersion[]
EntryExecution EntryExecution[]
createdAt DateTime @default(now())
created_at DateTime @default(now())
@@map("entries")
}
model EntryVersion {
id Int @id @default(autoincrement())
entry Entry @relation(fields: [entryId], references: [id], onDelete: Cascade)
entryId Int
id Int @id @default(autoincrement())
entry Entry @relation(fields: [entry_id], references: [id], onDelete: Cascade)
entry_id Int
text String
date DateTime
category Category? @relation(fields: [categoryId], references: [id], onDelete: SetNull)
categoryId Int?
priority Boolean
category Category? @relation(fields: [category_id], references: [id], onDelete: SetNull)
category_id Int?
priority Boolean
author User @relation(fields: [authorId], references: [id])
authorId Int
author User @relation(fields: [author_id], references: [id])
author_id Int
createdAt DateTime @default(now())
created_at DateTime @default(now())
@@map("entry_versions")
}
model EntryExecution {
id Int @id @default(autoincrement())
entry Entry @relation(fields: [entryId], references: [id], onDelete: Cascade)
entryId Int
id Int @id @default(autoincrement())
entry Entry @relation(fields: [entry_id], references: [id], onDelete: Cascade)
entry_id Int
text String
author User @relation(fields: [authorId], references: [id])
authorId Int
author User @relation(fields: [author_id], references: [id])
author_id Int
createdAt DateTime @default(now())
created_at DateTime @default(now())
@@map("entry_execution")
@@map("entry_executions")
}

4
run/gen-mockdata.ts Normal file
View file

@ -0,0 +1,4 @@
// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
import generateMockdata from "../tests/helpers/generate-mockdata"
await generateMockdata();

View file

@ -7,7 +7,7 @@ function mapUser(user: User): AdapterUser {
id: user.id.toString(),
name: user.name,
email: user.email!,
emailVerified: user.emailVerified,
emailVerified: null,
};
}
@ -18,7 +18,7 @@ function mapUserOpt(user: User | null | undefined): AdapterUser | null {
function mapAccount(account: Account): AdapterAccount {
return {
userId: account.userId.toString(),
userId: account.user_id.toString(),
type: account.type as "oauth" | "oidc" | "email",
provider: account.provider,
providerAccountId: account.providerAccountId,
@ -39,7 +39,6 @@ export function PrismaAdapter(p: PrismaClient): Adapter {
data: {
name: data.name,
email: data.email,
emailVerified: data.emailVerified,
},
})
),
@ -62,7 +61,7 @@ export function PrismaAdapter(p: PrismaClient): Adapter {
mapAccount(
await p.account.create({
data: {
userId: parseInt(data.userId),
user_id: parseInt(data.userId),
type: data.type,
provider: data.provider,
providerAccountId: data.providerAccountId,

View file

@ -4,7 +4,7 @@ import { prisma } from "$lib/server/prisma";
export async function newCategory(category: CategoryNew): Promise<number> {
const data = ZCategoryNew.parse(category);
const created = await prisma.category.create({ data });
const created = await prisma.category.create({ data, select: { id: true } });
return created.id;
}

View file

@ -12,8 +12,9 @@ import {
ZEntryNew,
ZEntryVersionNew,
} from "$lib/shared/model/validation";
import { ErrorConflict } from "$lib/shared/util/error";
import { mapEntry } from "./mapping";
import { QueryBuilder } from "./util";
import { QueryBuilder, parseSearchQuery } from "./util";
const USER_SELECT = { select: { id: true, name: true } };
@ -24,12 +25,12 @@ export async function getEntry(id: number): Promise<Entry> {
patient: { include: { room: { include: { station: true } } } },
EntryVersion: {
include: { author: USER_SELECT, category: true },
orderBy: { createdAt: "desc" },
orderBy: { created_at: "desc" },
take: 1,
},
EntryExecution: {
include: { author: USER_SELECT },
orderBy: { createdAt: "desc" },
orderBy: { created_at: "desc" },
take: 1,
},
},
@ -38,117 +39,172 @@ export async function getEntry(id: number): Promise<Entry> {
return mapEntry(entry);
}
export async function newEntry(authorId: number, entry: EntryNew): Promise<number> {
export async function newEntry(author_id: number, entry: EntryNew): Promise<number> {
const data = ZEntryNew.parse(entry);
const created = await prisma.entry.create({
data: {
patientId: data.patientId,
patient_id: data.patient_id,
EntryVersion: {
create: {
authorId,
author_id,
...data.version,
},
},
},
select: { id: true },
});
return created.id;
}
export async function newEntryVersion(
authorId: number,
entryId: number,
author_id: number,
entry_id: number,
version: EntryVersionNew
): Promise<number> {
const data = ZEntryVersionNew.parse(version);
const created = await prisma.entryVersion.create({
data: {
entryId,
authorId,
...data,
},
return prisma.$transaction(async (tx) => {
const entry = await tx.entry.findUniqueOrThrow({
where: { id: entry_id },
include: {
EntryVersion: {
orderBy: { created_at: "desc" },
take: 1,
},
},
});
const cver = entry.EntryVersion[0];
// Check if the entry has been updated by someone else
if (data.old_version && (!cver || cver.id !== data.old_version)) {
throw new ErrorConflict("old version id does not match");
}
const created = await tx.entryVersion.create({
data: {
// Old version
entry_id,
author_id,
text: data.text || cver.text,
date: data.date || cver.date,
category_id: data.category_id || cver.category_id,
priority: data.priority || cver.priority,
},
select: { id: true },
});
return created.id;
});
return created.id;
}
export async function newEntryExecution(
authorId: number,
entryId: number,
author_id: number,
entry_id: number,
execution: EntryExecutionNew
): Promise<number> {
const data = ZEntryExecutionNew.parse(execution);
const created = await prisma.entryExecution.create({
data: {
entryId,
authorId,
...data,
},
return prisma.$transaction(async (tx) => {
const entry = await tx.entry.findUniqueOrThrow({
where: { id: entry_id },
include: {
EntryExecution: {
orderBy: { created_at: "desc" },
take: 1,
},
},
});
const cex = entry.EntryExecution[0];
// Check if the execution has been updated by someone else
if (
(data.old_execution && (!cex || cex.id !== data.old_execution)) ||
(data.old_execution === null && cex)
) {
throw new ErrorConflict("old execution id does not match");
}
const created = await prisma.entryExecution.create({
data: {
entry_id,
author_id,
text: data.text,
},
select: { id: true },
});
return created.id;
});
return created.id;
}
export async function getEntries(req: EntriesRequest): Promise<Pagination<Entry>> {
const qb = new QueryBuilder(
`select
e.id,
e."createdAt",
e.created_at,
ev.text,
ev."date",
ev.date,
ev.priority,
ev.id as "versionId",
ev."createdAt" as "versionCreatedAt",
vau.id as "versionAuthorId",
vau."name" as "versionAuthorName",
c.id as "categoryId",
c."name" as "categoryName",
c.color as "categoryColor",
ex.id as "executionId",
ex.text as "executionText",
ex."createdAt" as "executionCreatedAt",
xau.id as "executionAuthorId",
xau.name as "executionAuthorName",
p.id as "patientId",
p."firstName" as "patientFirstName",
p."lastName" as "patientLastName",
p.age as "patientAge",
p."createdAt" as "patientCreatedAt",
r.id as "roomId",
r."name" as "roomName",
s.id as "stationId",
s."name" as "stationName"`,
ev.id as version_id,
ev.created_at as version_created_at,
vau.id as version_author_id,
vau.name as version_author_name,
c.id as category_id,
c.name as category_name,
c.color as category_color,
ex.id as execution_id,
ex.text as execution_text,
ex.created_at as execution_created_at,
xau.id as execution_author_id,
xau.name as execution_author_name,
p.id as patient_id,
p.first_name as patient_first_name,
p.last_name as patient_last_name,
p.age as patient_age,
p.created_at as patient_created_at,
r.id as room_id,
r.name as room_name,
s.id as station_id,
s.name as station_name`,
`from entries e
join entry_versions ev on
ev."entryId" = e.id
ev.entry_id = e.id
and ev.id = (
select
id
from
entry_versions ev2
where
ev2."entryId" = ev."entryId"
ev2.entry_id = ev.entry_id
order by
ev2."createdAt" desc
ev2.created_at desc
limit 1)
join users vau on vau.id=ev."authorId"
left join categories c on c.id=ev."categoryId"
left join entry_execution ex on
ex."entryId" = e.id
join users vau on vau.id=ev.author_id
left join categories c on c.id=ev.category_id
left join entry_executions ex on
ex.entry_id = e.id
and ex.id = (
select
id
from
entry_execution ex2
entry_executions ex2
where
ex2."entryId" = ex."entryId"
ex2.entry_id = ex.entry_id
order by
ex2."createdAt" desc
ex2.created_at desc
limit 1)
left join users xau on xau.id=ex."authorId"
join patients p on p.id = e."patientId"
join rooms r on r.id = p."roomId"
join stations s on s.id = r."stationId"`
left join users xau on xau.id=ex.author_id
join patients p on p.id = e.patient_id
join rooms r on r.id = p.room_id
join stations s on s.id = r.station_id`
);
// qb.addFilterIsNull("ex.id", req.filter?.done);
if (req.filter?.search && req.filter.search.length > 0) {
const query = parseSearchQuery(req.filter.search);
qb.addFilterClause(
`to_tsquery('german', ${qb.pvar()}) @@ e.tsvec`,
query.toTsquery()
);
}
if (req.filter?.done === true) {
qb.addFilterClause("ex.id is not null");
} else if (req.filter?.done === false) {
@ -168,41 +224,41 @@ join stations s on s.id = r."stationId"`
author = [author];
}
qb.addFilterClause(
`${qb.pvar()}::integer[] && (select array_agg(ev2."authorId") from entry_versions ev2 where ev2."entryId"=e.id)`,
`${qb.pvar()}::integer[] && (select array_agg(ev2.author_id) from entry_versions ev2 where ev2.entry_id=e.id)`,
author
);
}
qb.setOrderClause(`order by e."createdAt" desc`);
qb.setOrderClause(`order by e.created_at desc`);
if (req.pagination) qb.setPagination(req.pagination);
type RequestItem = {
id: number;
createdAt: Date;
created_at: Date;
text: string;
date: Date;
priority: boolean;
versionId: number;
versionCreatedAt: Date;
versionAuthorId: number;
versionAuthorName: string;
categoryId: number;
categoryName: string;
categoryColor: string;
executionId: number;
executionText: string;
executionCreatedAt: Date;
executionAuthorId: number;
executionAuthorName: string;
patientId: number;
patientFirstName: string;
patientLastName: string;
patientAge: number;
patientCreatedAt: Date;
roomId: number;
roomName: string;
stationId: number;
stationName: string;
version_id: number;
version_created_at: Date;
version_author_id: number;
version_author_name: string;
category_id: number;
category_name: string;
category_color: string;
execution_id: number;
execution_text: string;
execution_created_at: Date;
execution_author_id: number;
execution_author_name: string;
patient_id: number;
patient_first_name: string;
patient_last_name: string;
patient_age: number;
patient_created_at: Date;
room_id: number;
room_name: string;
station_id: number;
station_name: string;
};
const [res, countRes] = (await Promise.all([
@ -216,40 +272,40 @@ join stations s on s.id = r."stationId"`
return {
id: item.id,
patient: {
id: item.patientId,
firstName: item.patientFirstName,
lastName: item.patientLastName,
createdAt: item.patientCreatedAt,
age: item.patientAge,
id: item.patient_id,
first_name: item.patient_first_name,
last_name: item.patient_last_name,
created_at: item.patient_created_at,
age: item.patient_age,
room: {
id: item.roomId,
name: item.roomName,
station: { id: item.stationId, name: item.stationName },
id: item.room_id,
name: item.room_name,
station: { id: item.station_id, name: item.station_name },
},
},
createdAt: item.createdAt,
currentVersion: {
id: item.versionId,
created_at: item.created_at,
current_version: {
id: item.version_id,
text: item.text,
date: item.date,
category: item.categoryId
category: item.category_id
? {
id: item.categoryId,
name: item.categoryName,
color: item.categoryColor,
id: item.category_id,
name: item.category_name,
color: item.category_color,
description: null,
}
: null,
priority: item.priority,
author: { id: item.versionAuthorId, name: item.versionAuthorName },
createdAt: item.createdAt,
author: { id: item.version_author_id, name: item.version_author_name },
created_at: item.version_created_at,
},
execution: item.executionId
execution: item.execution_id
? {
id: item.executionId,
author: { id: item.executionAuthorId, name: item.executionAuthorName },
text: item.executionText,
createdAt: item.executionCreatedAt,
id: item.execution_id,
author: { id: item.execution_author_id, name: item.execution_author_name },
text: item.execution_text,
created_at: item.execution_created_at,
}
: null,
};

View file

@ -1,4 +1,5 @@
import type { Entry, Patient, User, UserTag, Room } from "$lib/shared/model";
import { ErrorNotFound } from "$lib/shared/util/error";
import type {
Patient as DbPatient,
Room as DbRoom,
@ -21,9 +22,9 @@ type DbEntryExecutionLn = DbEntryExecution & { author: UserTag };
export function mapPatient(patient: DbPatientLn): Patient {
return {
id: patient.id,
firstName: patient.firstName,
lastName: patient.lastName,
createdAt: patient.createdAt,
first_name: patient.first_name,
last_name: patient.last_name,
created_at: patient.created_at,
age: patient.age,
room: patient.room
? {
@ -55,27 +56,27 @@ export function mapEntry(
}
): Entry {
const v = entry.EntryVersion[0];
if (!v) throw new Error("no version associated with that entry");
if (!v) throw new ErrorNotFound("no version associated with that entry");
const x = entry.EntryExecution[0];
return {
id: entry.id,
patient: mapPatient(entry.patient),
createdAt: entry.createdAt,
currentVersion: {
created_at: entry.created_at,
current_version: {
id: v.id,
text: v.text,
date: v.date,
category: v.category,
priority: v.priority,
author: v.author,
createdAt: v.createdAt,
created_at: v.created_at,
},
execution: x
? {
id: x.id,
author: x.author,
createdAt: x.createdAt,
created_at: x.created_at,
text: x.text,
}
: null,

View file

@ -12,7 +12,7 @@ import { convertFilterList } from "./util";
export async function newPatient(patient: PatientNew): Promise<number> {
const data = ZPatientNew.parse(patient);
const created = await prisma.patient.create({ data });
const created = await prisma.patient.create({ data, select: { id: true } });
return created.id;
}
@ -29,9 +29,9 @@ export async function getPatient(id: number): Promise<Patient> {
export async function getPatients(req: PatientsRequest): Promise<Pagination<Patient>> {
const offset = req.pagination?.offset || 0;
const where = {
roomId: convertFilterList(req.filter?.room),
room_id: convertFilterList(req.filter?.room),
room: {
stationId: convertFilterList(req.filter?.station),
station_id: convertFilterList(req.filter?.station),
},
};
const [patients, total] = await Promise.all([
@ -40,7 +40,7 @@ export async function getPatients(req: PatientsRequest): Promise<Pagination<Pati
include: {
room: { include: { station: true } },
},
orderBy: { createdAt: "desc" },
orderBy: { created_at: "desc" },
skip: offset,
take: req.pagination?.limit || PAGINATION_LIMIT,
}),

View file

@ -5,7 +5,7 @@ import { mapRoom } from "./mapping";
export async function newStation(station: StationNew): Promise<number> {
const data = ZStationNew.parse(station);
const created = await prisma.station.create({ data });
const created = await prisma.station.create({ data, select: { id: true } });
return created.id;
}
@ -19,7 +19,7 @@ export async function getStations(): Promise<Station[]> {
export async function newRoom(room: RoomNew): Promise<number> {
const data = ZRoomNew.parse(room);
const created = await prisma.room.create({ data });
const created = await prisma.room.create({ data, select: { id: true } });
return created.id;
}

View file

@ -1,5 +1,5 @@
import { expect, test } from "vitest";
import { QueryBuilder } from "./util";
import { QueryBuilder, parseSearchQuery } from "./util";
test("query builder", () => {
const qb = new QueryBuilder("select e.id, e.text, e.category", "from entries e");
@ -18,3 +18,40 @@ test("query builder", () => {
expect(params[2]).toBe(20);
expect(params[3]).toBe(10);
});
test("parse search query", () => {
const q = `"hello world" banana -cherry -"b x y" vis`;
const parsed = parseSearchQuery(q);
expect(parsed.components).toMatchObject([
{
negative: false,
typ: 2,
word: "hello world",
},
{
negative: false,
typ: 1,
word: "banana",
},
{
negative: true,
typ: 1,
word: "cherry",
},
{
negative: true,
typ: 2,
word: "b x y",
},
{
negative: false,
typ: 3,
word: "vis",
},
]);
const term = parsed.toTsquery();
expect(term).toBe(
`'hello' <-> 'world' & 'banana' & !'cherry' & !('b' <-> 'x' <-> 'y') & 'vis':*`
);
});

View file

@ -13,6 +13,97 @@ export function convertFilterList<T>(
}
}
enum QueryComponentType {
Normal = 1,
Exact,
Trailing,
}
class SearchQueryComponent {
word: string;
typ: QueryComponentType;
negative: boolean;
constructor(word: string, typ: QueryComponentType, negative: boolean) {
this.word = word;
this.typ = typ;
this.negative = negative;
}
private quoted(): string {
return `'${this.word}'`;
}
/**
* Convert the query component to a Postgres Tsquery string
*/
toTsquery(): string {
let tsquery;
let multipleParts = false;
if (this.typ == QueryComponentType.Exact) {
const parts = this.word.split(" ").map((s) => `'${s}'`);
multipleParts = parts.length > 1;
tsquery = parts.join(" <-> ");
} else if (this.typ == QueryComponentType.Trailing) {
tsquery = this.quoted() + ":*";
} else {
tsquery = this.quoted();
}
if (this.negative) {
if (multipleParts) {
tsquery = "!(" + tsquery + ")";
} else {
tsquery = "!" + tsquery;
}
}
return tsquery;
}
}
class SearchQueryComponents {
components: SearchQueryComponent[];
constructor(components: SearchQueryComponent[]) {
this.components = components;
}
toTsquery(): string {
return this.components.map((c) => c.toTsquery()).join(" & ");
}
}
/**
* Split a search query into individual components
*
* Supported search syntax:
* - Negative query `-word`
* - Exact query `"word"`
*/
export function parseSearchQuery(q: string): SearchQueryComponents {
const regexpParts = /(-)?(?:"([^"]*)"|([^"\s]+))(?:\s|$)/g;
const components = Array.from(q.matchAll(regexpParts), (m) => {
const negative = m[1] === "-";
// Exact
if (m[2]) {
return new SearchQueryComponent(m[2], QueryComponentType.Exact, negative);
} else {
return new SearchQueryComponent(m[3], QueryComponentType.Normal, negative);
}
});
if (
components.length > 0 &&
components[components.length - 1].typ === QueryComponentType.Normal
) {
components[components.length - 1].typ = QueryComponentType.Trailing;
}
return new SearchQueryComponents(components);
}
export class QueryBuilder {
private selectClause;
private fromClause;

View file

@ -34,7 +34,7 @@ export type Room = {
export type RoomNew = {
name: string;
stationId: number;
station_id: number;
};
export type Category = {
@ -52,31 +52,31 @@ export type CategoryNew = {
export type Patient = {
id: number;
firstName: string;
lastName: string;
first_name: string;
last_name: string;
age: Option<number>;
room: Option<Room>;
createdAt: Date;
created_at: Date;
};
export type PatientNew = {
firstName: string;
lastName: string;
first_name: string;
last_name: string;
age: Option<number>;
roomId: number;
room_id: number;
};
export type Entry = {
id: number;
patient: Patient;
createdAt: Date;
currentVersion: EntryVersion;
created_at: Date;
current_version: EntryVersion;
execution: Option<EntryExecution>;
};
export type EntryNew = {
patientId: number;
version: EntryVersionNew;
patient_id: number;
version: EntryVersionNdata;
};
export type EntryVersion = {
@ -86,23 +86,30 @@ export type EntryVersion = {
category: Option<Category>;
priority: boolean;
author: UserTag;
createdAt: Date;
created_at: Date;
};
export type EntryVersionNew = {
export type EntryVersionNdata = {
text: string;
date: Date;
categoryId: Option<number>;
category_id: Option<number>;
priority: boolean;
};
export type EntryVersionNew = Partial<{
old_version: number;
}> &
Partial<EntryVersionNdata>;
export type EntryExecution = {
id: number;
author: UserTag;
text: string;
createdAt: Date;
created_at: Date;
};
export type EntryExecutionNew = {
export type EntryExecutionNew = Partial<{
old_execution: number | null;
}> & {
text: string;
};

View file

@ -6,6 +6,7 @@ export type PaginationRequest = {
export type FilterList<T> = T | T[];
export type EntriesFilter = Partial<{
search: string;
done: boolean;
author: FilterList<number>;
executor: FilterList<number>;

View file

@ -4,6 +4,7 @@ import type {
CategoryNew,
EntryExecutionNew,
EntryNew,
EntryVersionNdata,
EntryVersionNew,
PatientNew,
RoomNew,
@ -18,7 +19,7 @@ export const ZStationNew = implement<StationNew>().with({ name: ZNameString });
export const ZRoomNew = implement<RoomNew>().with({
name: ZNameString,
stationId: ZEntityId,
station_id: ZEntityId,
});
export const ZCategoryNew = implement<CategoryNew>().with({
@ -32,24 +33,31 @@ export const ZCategoryNew = implement<CategoryNew>().with({
});
export const ZPatientNew = implement<PatientNew>().with({
firstName: ZNameString,
lastName: ZNameString,
first_name: ZNameString,
last_name: ZNameString,
age: z.number().int().nonnegative().lt(200).nullable(),
roomId: ZEntityId,
room_id: ZEntityId,
});
export const ZEntryVersionNew = implement<EntryVersionNew>().with({
text: ZTextString,
date: z.date(),
categoryId: ZEntityId.nullable(),
priority: z.boolean(),
old_version: ZEntityId.optional(),
text: ZTextString.optional(),
date: z.date().optional(),
category_id: ZEntityId.optional().nullable(),
priority: z.boolean().optional(),
});
export const ZEntryNew = implement<EntryNew>().with({
patientId: ZEntityId,
version: ZEntryVersionNew,
patient_id: ZEntityId,
version: implement<EntryVersionNdata>().with({
text: ZTextString,
date: z.date(),
category_id: ZEntityId.nullable(),
priority: z.boolean(),
}),
});
export const ZEntryExecutionNew = implement<EntryExecutionNew>().with({
old_execution: ZEntityId.optional().nullable(),
text: ZTextString,
});

View file

@ -0,0 +1,13 @@
export class ErrorConflict extends Error {
constructor(msg: string) {
super("conflict: " + msg);
Object.setPrototypeOf(this, ErrorConflict.prototype);
}
}
export class ErrorNotFound extends Error {
constructor(msg: string) {
super(msg);
Object.setPrototypeOf(this, ErrorNotFound.prototype);
}
}

View file

@ -0,0 +1,161 @@
import { prisma } from "$lib/server/prisma";
import { faker } from "@faker-js/faker";
import fs from "fs";
import { CATEGORIES, STATIONS } from "./testdata";
import path from "path";
import { fileURLToPath } from "url";
type MockEntry = { category: string; description: string; result: string };
const CATEGORY_IDS: { [id: string]: number } = {
Laborabnahme: 1,
Untersuchungen: 2,
Medikationsumstellung: 3,
"Klinische Visite": 4,
Entlassung: 5,
Sonstiges: 6,
};
const refDate = new Date(2023, 11, 1);
const N_USERS = 10;
const N_ROOMS = 20;
const N_PATIENTS = 50;
export default async () => {
// Reset database
await prisma.$transaction([
prisma.entryExecution.deleteMany(),
prisma.entryVersion.deleteMany(),
prisma.entry.deleteMany(),
prisma.patient.deleteMany(),
prisma.room.deleteMany(),
prisma.station.deleteMany(),
prisma.category.deleteMany(),
prisma.user.deleteMany(),
prisma.category.createMany({ data: CATEGORIES }),
prisma.station.createMany({ data: STATIONS }),
prisma.$executeRawUnsafe("alter sequence entries_id_seq restart with 1"),
prisma.$executeRawUnsafe("alter sequence entry_executions_id_seq restart with 1"),
prisma.$executeRawUnsafe("alter sequence entry_versions_id_seq restart with 1"),
]);
// Make generated data reproducible
faker.seed(42);
const filepath = path.join(
fileURLToPath(import.meta.url),
"../mockdata_entries.jsonl"
);
const file = fs.readFileSync(filepath).toString();
const entryMockdata: MockEntry[] = file
.trim()
.split("\n")
.map((l) => JSON.parse(l));
function randomId(len: number): number {
return faker.number.int({ min: 1, max: len - 1 });
}
for (let i = 1; i <= N_USERS; i++) {
const firstName = faker.person.firstName();
const lastName = faker.person.lastName();
await prisma.user.create({
data: {
id: i,
name: firstName + " " + lastName,
email: faker.internet.email({ firstName, lastName }),
},
});
}
let i = 1;
for (let sId = 1; sId <= 2; sId++) {
for (let rId = 1; rId <= 10; rId++) {
await prisma.room.create({
data: { id: i, name: `R${sId}.${rId}`, station_id: sId },
});
i += 1;
}
}
for (let i = 1; i <= N_PATIENTS; i++) {
await prisma.patient.create({
data: {
id: i,
first_name: faker.person.firstName(),
last_name: faker.person.lastName(),
age: faker.number.int({ min: 16, max: 100 }),
room_id: randomId(N_ROOMS),
},
});
}
for (let i = 0; i < entryMockdata.length; i++) {
const e = entryMockdata[i];
const created_at = faker.date.soon({ refDate, days: 30 });
const todo_date = faker.date.soon({ refDate: created_at, days: 30 });
const priority = faker.datatype.boolean({ probability: 0.05 });
const entry = await prisma.entry.create({
data: {
patient_id: randomId(N_PATIENTS),
created_at,
},
});
await prisma.entryVersion.create({
data: {
entry_id: entry.id,
author_id: randomId(N_USERS),
category_id: CATEGORY_IDS[e.category],
date: todo_date,
priority,
text: e.description,
},
});
// Add additional version(s) with some extra text
for (let n = 0; n < faker.number.int({ min: 0, max: 3 }); n++) {
const extraText = "\n\n> " + faker.lorem.paragraph();
await prisma.entryVersion.create({
data: {
entry_id: entry.id,
author_id: randomId(N_USERS),
category_id: CATEGORY_IDS[e.category],
date: todo_date,
priority,
text: e.description + extraText,
},
});
}
// 30% of entries are done
if (faker.datatype.boolean({ probability: 0.3 })) {
await prisma.entryExecution.create({
data: {
entry_id: entry.id,
author_id: randomId(N_USERS),
text: e.result,
created_at: faker.date.soon({ refDate: todo_date, days: 2 }),
},
});
}
await prisma.$transaction([
prisma.$executeRawUnsafe(
`alter sequence users_id_seq restart with ${N_USERS + 1}`
),
prisma.$executeRawUnsafe(
`alter sequence categories_id_seq restart with ${CATEGORIES.length + 1}`
),
prisma.$executeRawUnsafe(
`alter sequence stations_id_seq restart with ${STATIONS.length + 1}`
),
prisma.$executeRawUnsafe(
`alter sequence rooms_id_seq restart with ${N_ROOMS + 1}`
),
prisma.$executeRawUnsafe(
`alter sequence patients_id_seq restart with ${N_PATIENTS + 1}`
),
]);
}
};

View file

@ -0,0 +1,300 @@
{"category": "Laborabnahme", "description": "Dem Patienten wurde Blut abgenommen, um verschiedene Laborwerte zu überprüfen.", "result": "Die Blutprobe wurde entnommen und zur Analyse an das Labor geschickt. Die Ergebnisse werden in Kürze erwartet."}
{"category": "Medikationsumstellung", "description": "Es wurde eine Anpassung der Medikation vorgenommen, um die Behandlung zu optimieren.", "result": "Die Medikationsumstellung wurde erfolgreich durchgeführt. Der Patient wird engmaschig überwacht, um mögliche Reaktionen auf die neuen Medikamente zu erfassen."}
{"category": "Klinische Visite", "description": "Der Patient wurde klinisch untersucht, um den aktuellen Gesundheitszustand zu beurteilen.", "result": "Bei der klinischen Visite wurden vitale Parameter überprüft, einschließlich Blutdruck, Puls und Temperatur. Der Patient zeigt keine ungewöhnlichen Symptome und befindet sich in stabilem Zustand."}
{"category": "Untersuchungen", "description": "Es ist eine radiologische Untersuchung erforderlich, um genaue Informationen zu erhalten.", "result": "Die radiologische Untersuchung wurde durchgeführt, um detaillierte Bilder der betroffenen Bereiche zu erhalten. Die Ergebnisse werden vom Fachpersonal ausgewertet und mit dem behandelnden Arzt besprochen."}
{"category": "Entlassung", "description": "Der Patient wurde erfolgreich aus der stationären Behandlung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung der vitalen Parameter wurde der Patient in einem stabilen Zustand entlassen. Er wurde über die weiteren Schritte der Nachsorge informiert."}
{"category": "Sonstiges", "description": "Es sind zusätzliche Maßnahmen erforderlich, um die Ursache der Beschwerden zu klären.", "result": "Es wurden weitere diagnostische Maßnahmen eingeleitet, um die genaue Ursache der Beschwerden zu identifizieren. Der Patient wird über die geplanten Untersuchungen informiert."}
{"category": "Klinische Visite", "description": "Der Patient berichtet über Schlafprobleme und Unruhezustände.", "result": "Bei der klinischen Visite wurden psychische und emotionale Aspekte des Patienten angesprochen. Es wurde eine weiterführende Untersuchung der Schlafgewohnheiten und Stressfaktoren empfohlen."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutprobe zur Überprüfung der Leberfunktion entnommen.", "result": "Die Blutabnahme erfolgte ohne Komplikationen. Die Ergebnisse der Leberfunktionstests werden in den nächsten Tagen erwartet."}
{"category": "Medikationsumstellung", "description": "Anpassung der Dosierung aufgrund von Nebenwirkungen.", "result": "Die Medikation wurde aufgrund von auftretenden Nebenwirkungen angepasst. Der Patient wird auf mögliche Verbesserungen oder weitere Reaktionen beobachtet."}
{"category": "Untersuchungen", "description": "Magnetresonanztomographie (MRT) zur detaillierten Darstellung der Gelenke.", "result": "Die MRT-Untersuchung wurde erfolgreich durchgeführt und lieferte detaillierte Bilder der Gelenke. Die Ergebnisse werden vom Radiologen ausgewertet und dem behandelnden Arzt mitgeteilt."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Operation entlassen.", "result": "Nach einer erfolgreichen Operation und Überwachung der postoperativen Phase wurde der Patient in gutem Zustand entlassen. Die weiteren Genesungsschritte wurden besprochen."}
{"category": "Sonstiges", "description": "Empfehlung zur physiotherapeutischen Behandlung", "result": "Nach eingehender Untersuchung wurde eine physiotherapeutische Behandlung empfohlen, um die Beweglichkeit und Muskelkraft des Patienten zu verbessern."}
{"category": "Klinische Visite", "description": "Patient klagt über anhaltende Kopfschmerzen und Schwindelgefühl.", "result": "Die klinische Visite fokussierte sich auf die Symptome von Kopfschmerzen und Schwindel. Weitere neurologische Untersuchungen sind geplant, um die Ursache zu klären."}
{"category": "Laborabnahme", "description": "Blutentnahme zur Überprüfung der Schilddrüsenwerte.", "result": "Die Blutprobe wurde entnommen, um die Schilddrüsenfunktion zu überprüfen. Die Ergebnisse werden mit dem Patienten besprochen, um gegebenenfalls eine Therapie einzuleiten."}
{"category": "Medikationsumstellung", "description": "Wechsel zu einem alternativen Medikament aufgrund von Unverträglichkeiten.", "result": "Die Medikationsumstellung wurde aufgrund von Unverträglichkeiten erfolgreich durchgeführt. Der Patient wird auf mögliche positive Auswirkungen und eventuelle Nebenwirkungen überwacht."}
{"category": "Untersuchungen", "description": "Ultraschalluntersuchung zur Abklärung von Bauchbeschwerden.", "result": "Die Ultraschalluntersuchung des Bauchraums wurde durchgeführt, um mögliche Ursachen für die Bauchbeschwerden zu identifizieren. Die Ergebnisse werden mit dem Patienten besprochen."}
{"category": "Entlassung", "description": "Patient konnte nach erfolgreicher Rehabilitation nach Hause entlassen werden.", "result": "Nach einer erfolgreichen Rehabilitation und Verbesserung des Gesundheitszustands konnte der Patient in die häusliche Umgebung entlassen werden. Empfehlungen für die Nachsorge wurden gegeben."}
{"category": "Sonstiges", "description": "Empfehlung zur Ernährungsberatung aufgrund von Gewichtsproblemen.", "result": "Nach der Untersuchung wurde eine Ernährungsberatung empfohlen, um das Gewicht des Patienten zu stabilisieren und gesunde Essgewohnheiten zu fördern."}
{"category": "Klinische Visite", "description": "Besprechung der aktuellen Symptome und Fortschritte des Patienten.", "result": "Die klinische Visite konzentrierte sich auf die Besprechung der aktuellen Symptome und Fortschritte des Patienten. Anpassungen der Behandlungspläne wurden vorgenommen."}
{"category": "Laborabnahme", "description": "Blutuntersuchung zur Überprüfung der Blutzuckerwerte.", "result": "Die Blutuntersuchung zur Überprüfung der Blutzuckerwerte wurde durchgeführt. Die Ergebnisse werden mit dem Patienten besprochen, um die Diabetesbehandlung zu optimieren."}
{"category": "Medikationsumstellung", "description": "Änderung der Medikation zur besseren Kontrolle von Bluthochdruck.", "result": "Die Medikationsumstellung wurde durchgeführt, um den Bluthochdruck des Patienten besser zu kontrollieren. Überwachung der Blutdruckwerte und Anpassungen bei Bedarf werden fortgesetzt."}
{"category": "Untersuchungen", "description": "EKG zur Überprüfung der Herzfunktion und Rhythmusstörungen.", "result": "Das EKG wurde durchgeführt, um die Herzfunktion und mögliche Rhythmusstörungen zu überprüfen. Die Ergebnisse werden mit dem Kardiologen besprochen, um weitere Schritte zu planen."}
{"category": "Entlassung", "description": "Patient wurde nach erfolgreicher Behandlung und Stabilisierung entlassen.", "result": "Nach erfolgreicher Behandlung und Stabilisierung des Gesundheitszustands konnte der Patient in gutem Zustand entlassen werden. Empfehlungen für die Nachsorge wurden gegeben."}
{"category": "Sonstiges", "description": "Empfehlung zur psychologischen Beratung aufgrund von emotionalen Belastungen.", "result": "Nach eingehender Besprechung der emotionalen Belastungen wurde eine psychologische Beratung empfohlen, um den Patienten bei der Bewältigung seiner psychischen Herausforderungen zu unterstützen."}
{"category": "Klinische Visite", "description": "Patient zeigt Anzeichen von Gelenksteifigkeit und Schmerzen.", "result": "Die klinische Visite konzentrierte sich auf die Bewertung der Gelenkgesundheit. Weitere rheumatologische Untersuchungen sind geplant, um die Ursache der Gelenksteifigkeit zu identifizieren."}
{"category": "Laborabnahme", "description": "Blutentnahme zur Überprüfung der Nierenfunktion.", "result": "Die Blutentnahme zur Überprüfung der Nierenfunktion wurde durchgeführt. Die Ergebnisse werden mit dem Nephrologen besprochen, um die geeignete Therapie festzulegen."}
{"category": "Medikationsumstellung", "description": "Änderung der Medikation aufgrund von unzureichender Wirkung.", "result": "Die Medikationsumstellung wurde vorgenommen, da die bisherige Medikation nicht die gewünschte Wirkung zeigte. Der Patient wird engmaschig überwacht, um die Effektivität der neuen Medikamente zu beurteilen."}
{"category": "Untersuchungen", "description": "Röntgenaufnahme zur Diagnose von Atemwegsproblemen.", "result": "Die Röntgenaufnahme der Atemwege wurde durchgeführt, um mögliche Ursachen von Atemwegsproblemen zu identifizieren. Die Ergebnisse werden mit dem Pneumologen besprochen."}
{"category": "Entlassung", "description": "Patient wurde nach erfolgreicher Operation und Rehabilitationsphase entlassen.", "result": "Nach einer erfolgreichen Operation und abschließender Rehabilitationsphase wurde der Patient in gutem Zustand entlassen. Empfehlungen für die weitere Genesung zu Hause wurden gegeben."}
{"category": "Sonstiges", "description": "Empfehlung zur Ergotherapie aufgrund von motorischen Einschränkungen.", "result": "Nach einer eingehenden Untersuchung wurde eine Ergotherapie empfohlen, um die motorischen Einschränkungen des Patienten zu verbessern und die Lebensqualität zu steigern."}
{"category": "Klinische Visite", "description": "Besprechung der Fortschritte in der Schmerztherapie.", "result": "Die klinische Visite konzentrierte sich auf die Fortschritte in der Schmerztherapie. Anpassungen der Medikation und alternative Therapieansätze wurden erörtert."}
{"category": "Laborabnahme", "description": "Blutuntersuchung zur Überprüfung der Schilddrüsenfunktion.", "result": "Die Blutuntersuchung zur Überprüfung der Schilddrüsenfunktion wurde durchgeführt. Die Ergebnisse werden mit dem Endokrinologen besprochen, um die optimale Behandlung festzulegen."}
{"category": "Medikationsumstellung", "description": "Wechsel zu einem neuen Antidepressivum aufgrund von Unverträglichkeiten.", "result": "Die Medikationsumstellung auf ein neues Antidepressivum wurde durchgeführt, um Unverträglichkeiten zu minimieren. Der Patient wird auf mögliche Verbesserungen und Nebenwirkungen überwacht."}
{"category": "Untersuchungen", "description": "CT-Untersuchung zur Abklärung von neurologischen Symptomen.", "result": "Die CT-Untersuchung des Gehirns wurde durchgeführt, um mögliche neurologische Ursachen der Symptome zu identifizieren. Die Ergebnisse werden mit dem Neurologen besprochen."}
{"category": "Entlassung", "description": "Patient konnte nach intensiver Therapie entlassen werden.", "result": "Nach einer intensiven Therapie und Überwachung konnte der Patient in einem stabilen Zustand entlassen werden. Die weitere Genesung wird ambulant fortgesetzt."}
{"category": "Sonstiges", "description": "Empfehlung zur Schlafanalyse aufgrund von Schlafstörungen.", "result": "Nach eingehender Besprechung der Schlafprobleme wurde eine Schlafanalyse empfohlen, um genaue Informationen über mögliche Schlafstörungen zu erhalten."}
{"category": "Klinische Visite", "description": "Patient berichtet über Magen-Darm-Beschwerden und Verdauungsprobleme.", "result": "Die klinische Visite konzentrierte sich auf die Bewertung von Magen-Darm-Beschwerden. Weitere gastroenterologische Untersuchungen sind geplant, um die Ursache zu klären."}
{"category": "Laborabnahme", "description": "Blutentnahme zur Überprüfung der Eisenspeicher und Blutbild.", "result": "Die Blutentnahme zur Überprüfung der Eisenspeicher und des Blutbilds wurde durchgeführt. Die Ergebnisse werden mit dem Hämatologen besprochen, um eine geeignete Therapie festzulegen."}
{"category": "Medikationsumstellung", "description": "Anpassung der Medikation aufgrund von allergischen Reaktionen.", "result": "Die Medikationsumstellung wurde aufgrund von allergischen Reaktionen erfolgreich durchgeführt. Der Patient wird auf weitere mögliche allergische Reaktionen überwacht."}
{"category": "Untersuchungen", "description": "Doppler-Sonographie zur Überprüfung der Durchblutung in den Beinen.", "result": "Die Doppler-Sonographie wurde durchgeführt, um die Durchblutung in den Beinen zu überprüfen. Die Ergebnisse werden mit dem Angiologen besprochen, um gegebenenfalls weitere Maßnahmen einzuleiten."}
{"category": "Entlassung", "description": "Patient konnte nach erfolgreicher Therapie entlassen werden.", "result": "Nach erfolgreicher Therapie und Überwachung konnte der Patient in gutem Zustand entlassen werden. Empfehlungen für die Nachsorge und Verhaltensmaßnahmen wurden gegeben."}
{"category": "Sonstiges", "description": "Empfehlung zur Physiotherapie aufgrund von Rückenschmerzen.", "result": "Nach der Untersuchung wurde eine Physiotherapie empfohlen, um die Rückenschmerzen zu lindern und die muskuläre Unterstützung zu stärken."}
{"category": "Klinische Visite", "description": "Besprechung der aktuellen Schmerzintensität und Schmerzmanagement.", "result": "Die klinische Visite konzentrierte sich auf die Besprechung der aktuellen Schmerzintensität und die Anpassung des Schmerzmanagements. Alternative Therapieansätze wurden erörtert."}
{"category": "Untersuchungen", "description": "Es wurde eine Ultraschalluntersuchung durchgeführt, um die Organe im Bauchraum zu überprüfen.", "result": "Die Ultraschalluntersuchung zeigte normale Befunde der Bauchorgane. Es wurden keine Anomalien festgestellt."}
{"category": "Laborabnahme", "description": "Zur Überprüfung der Nierenfunktion wurde dem Patienten Blut abgenommen.", "result": "Die Laborergebnisse deuten auf eine normale Nierenfunktion hin. Der Patient wird über mögliche Maßnahmen zur Verbesserung der Nierenfunktion beraten."}
{"category": "Klinische Visite", "description": "Eine routinemäßige klinische Visite wurde durchgeführt, um den Gesundheitszustand des Patienten zu überwachen.", "result": "Bei der klinischen Visite wurden keine besorgniserregenden Symptome festgestellt. Der Patient ist in einem stabilen Zustand."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung und Stabilisierung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung aller vitalen Parameter wurde der Patient in einem verbesserten Zustand entlassen. Er erhält Empfehlungen für die weitere Nachsorge."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um mögliche Nebenwirkungen zu minimieren.", "result": "Die Medikationsumstellung wurde vorgenommen, und der Patient wird sorgfältig überwacht, um eventuelle unerwünschte Reaktionen zu identifizieren."}
{"category": "Sonstiges", "description": "Es wurde eine Beratung zur Lebensstiländerung durchgeführt, um die Gesundheit zu verbessern.", "result": "Der Patient erhielt Ratschläge zur Änderung seines Lebensstils, um die Gesundheit zu fördern. Es werden regelmäßige Follow-up-Termine vereinbart."}
{"category": "Laborabnahme", "description": "Eine Blutuntersuchung wurde durchgeführt, um die Schilddrüsenfunktion zu überprüfen.", "result": "Die Blutwerte deuten auf eine normale Schilddrüsenfunktion hin. Weitere Untersuchungen werden bei Bedarf empfohlen."}
{"category": "Klinische Visite", "description": "Der Patient wurde aufgrund von Beschwerden im Magen-Darm-Bereich untersucht.", "result": "Bei der klinischen Visite wurden keine akuten Probleme festgestellt. Der Patient wird aufgefordert, bei anhaltenden Beschwerden erneut Kontakt aufzunehmen."}
{"category": "Untersuchungen", "description": "Es wurde eine Röntgenaufnahme angefertigt, um mögliche Frakturen auszuschließen.", "result": "Die Röntgenaufnahme zeigt keine Anzeichen von Frakturen. Der Patient wird über weitere Schritte zur Schmerzlinderung informiert."}
{"category": "Entlassung", "description": "Der Patient wurde nach Abschluss der Rehabilitationsmaßnahmen entlassen.", "result": "Nach erfolgreicher Rehabilitation und Überprüfung der Fortschritte wurde der Patient in einem verbesserten Zustand entlassen. Es wurden Empfehlungen für die Fortsetzung der Übungen gegeben."}
{"category": "Sonstiges", "description": "Es wurde eine genetische Untersuchung angeordnet, um mögliche genetische Risikofaktoren zu identifizieren.", "result": "Die genetische Untersuchung wurde in die Wege geleitet, um potenzielle genetische Risikofaktoren zu identifizieren. Die Ergebnisse werden mit dem Patienten besprochen, um entsprechende Maßnahmen zu ergreifen."}
{"category": "Medikationsumstellung", "description": "Die Dosierung eines Medikaments wurde angepasst, um die Wirksamkeit zu erhöhen.", "result": "Die Medikationsanpassung wurde vorgenommen, und der Patient wird auf mögliche Veränderungen in den Symptomen hinsichtlich der Medikationsänderung überwacht."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung durchgeführt, um den Eisengehalt im Blut zu überprüfen.", "result": "Die Ergebnisse der Blutuntersuchung deuten auf einen normalen Eisengehalt hin. Empfehlungen zur Verbesserung der Eisenversorgung werden dem Patienten mitgeteilt."}
{"category": "Klinische Visite", "description": "Der Patient stellte sich aufgrund von Kopfschmerzen und Schwindel vor.", "result": "Die klinische Visite ergab keine akuten neurologischen Auffälligkeiten. Der Patient wird aufgefordert, bei weiteren Beschwerden sofort Kontakt aufzunehmen."}
{"category": "Untersuchungen", "description": "Es wurde eine MRT-Untersuchung des Gehirns durchgeführt, um mögliche Ursachen von neurologischen Symptomen zu identifizieren.", "result": "Die MRT-Untersuchung zeigte keine strukturellen Anomalien im Gehirn. Weitere Untersuchungen werden zur genaueren Abklärung der Beschwerden empfohlen."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung und Stabilisierung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung aller vitalen Parameter wurde der Patient in einem verbesserten Zustand entlassen. Er erhält Empfehlungen für die Fortsetzung der Rehabilitation zu Hause."}
{"category": "Sonstiges", "description": "Es wurde eine Beratung zur Stressbewältigung und Entspannungstechniken durchgeführt.", "result": "Der Patient erhielt Tipps zur Stressbewältigung und Entspannungstechniken. Regelmäßige Übungen werden empfohlen, um das Wohlbefinden zu steigern."}
{"category": "Laborabnahme", "description": "Eine Blutprobe wurde genommen, um die Leberfunktion zu überprüfen.", "result": "Die Blutuntersuchung ergab normale Leberwerte. Der Patient wird über gesunde Ernährungsgewohnheiten informiert, um die Lebergesundheit zu unterstützen."}
{"category": "Klinische Visite", "description": "Der Patient wurde zur routinemäßigen Kontrolle der Herzfunktion untersucht.", "result": "Die klinische Visite zeigte keine Anzeichen von Herzproblemen. Der Patient wird ermutigt, regelmäßige kardiovaskuläre Übungen durchzuführen."}
{"category": "Untersuchungen", "description": "Es wurde eine Endoskopie durchgeführt, um mögliche Magen-Darm-Erkrankungen auszuschließen.", "result": "Die Endoskopie zeigte keine Anomalien im Magen-Darm-Trakt. Der Patient wird über mögliche Ursachen der Beschwerden aufgeklärt."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um Nebenwirkungen zu minimieren.", "result": "Die Medikationsanpassung wurde durchgeführt, und der Patient wird auf mögliche Veränderungen in den Symptomen hinsichtlich der Medikationsänderung überwacht."}
{"category": "Sonstiges", "description": "Es wurde eine Ernährungsberatung durchgeführt, um den Cholesterinspiegel zu kontrollieren.", "result": "Der Patient erhielt Ratschläge zur cholesterinbewussten Ernährung. Regelmäßige Kontrollen werden empfohlen, um den Cholesterinspiegel im Auge zu behalten."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung durchgeführt, um den Vitamin-D-Spiegel zu überprüfen.", "result": "Die Blutwerte zeigen einen niedrigen Vitamin-D-Spiegel. Der Patient wird über Maßnahmen zur Verbesserung der Vitamin-D-Versorgung informiert."}
{"category": "Klinische Visite", "description": "Der Patient wurde aufgrund von Muskelschmerzen und -schwäche untersucht.", "result": "Die klinische Untersuchung ergab keine akuten muskuloskelettalen Probleme. Der Patient wird zu physiotherapeutischen Übungen zur Stärkung der Muskulatur angeleitet."}
{"category": "Untersuchungen", "description": "Es wurde eine Spirometrie durchgeführt, um die Lungenfunktion zu testen.", "result": "Die Spirometrie zeigt normale Ergebnisse der Lungenfunktion. Der Patient wird ermutigt, regelmäßig Atemübungen durchzuführen."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung und Stabilisierung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung aller vitalen Parameter wurde der Patient in einem stabilen Zustand entlassen. Er erhält Empfehlungen für die Fortsetzung der medikamentösen Therapie."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um die Symptome besser zu kontrollieren.", "result": "Die Medikationsanpassung wurde durchgeführt, und der Patient wird auf mögliche Verbesserungen der Symptome überwacht."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung durchgeführt, um die Schilddrüsenwerte zu überprüfen.", "result": "Die Blutwerte deuten auf eine normale Schilddrüsenfunktion hin. Der Patient wird über die Bedeutung der Schilddrüsenwerte informiert."}
{"category": "Klinische Visite", "description": "Der Patient stellte sich aufgrund von Schlafproblemen und Erschöpfung vor.", "result": "Bei der klinischen Visite wurden keine akuten körperlichen Ursachen für die Schlafprobleme festgestellt. Der Patient wird zu Schlafhygiene-Maßnahmen beraten."}
{"category": "Untersuchungen", "description": "Es wurde eine Colonoskopie durchgeführt, um mögliche Darmprobleme auszuschließen.", "result": "Die Colonoskopie zeigte keine Anzeichen von Darmproblemen. Der Patient wird über gesunde Darmgewohnheiten aufgeklärt."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung und Stabilisierung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung aller vitalen Parameter wurde der Patient in einem verbesserten Zustand entlassen. Er erhält Empfehlungen für die Fortsetzung der physiotherapeutischen Übungen zu Hause."}
{"category": "Sonstiges", "description": "Es wurde eine psychologische Beratung durchgeführt, um den Umgang mit Stress zu verbessern.", "result": "Der Patient erhielt psychologische Unterstützung zur Stressbewältigung. Regelmäßige Sitzungen werden empfohlen, um den emotionalen Wohlbefinden zu fördern."}
{"category": "Medikationsumstellung", "description": "Die Dosierung eines blutdrucksenkenden Medikaments wurde angepasst.", "result": "Die Medikationsanpassung wurde durchgeführt, und der Patient wird auf mögliche Veränderungen im Blutdruck überwacht."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung durchgeführt, um die Blutzuckerwerte zu überprüfen.", "result": "Die Blutwerte deuten auf einen erhöhten Blutzuckerspiegel hin. Der Patient wird über Maßnahmen zur Blutzuckerregulation informiert."}
{"category": "Klinische Visite", "description": "Der Patient wurde zur Nachkontrolle nach einer Operation untersucht.", "result": "Bei der klinischen Visite wurden keine Komplikationen nach der Operation festgestellt. Der Heilungsprozess verläuft zufriedenstellend."}
{"category": "Untersuchungen", "description": "Es wurde eine DEXA-Untersuchung durchgeführt, um die Knochendichte zu messen.", "result": "Die DEXA-Untersuchung ergab normale Knochendichtewerte. Der Patient wird über Maßnahmen zur Erhaltung der Knochengesundheit informiert."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung und Stabilisierung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung aller vitalen Parameter wurde der Patient in einem verbesserten Zustand entlassen. Er erhält Empfehlungen für die Fortsetzung der medikamentösen Therapie und regelmäßige Kontrollen."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung durchgeführt, um die Nierenfunktion zu überprüfen.", "result": "Die Laborergebnisse deuten auf normale Nierenfunktion hin. Der Patient wird über gesunde Ernährungsgewohnheiten informiert, um die Nierenfunktion zu unterstützen."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um Nebenwirkungen zu minimieren.", "result": "Die Medikationsumstellung erfolgte aufgrund von auftretenden Nebenwirkungen. Der Patient wird aufmerksam über mögliche Reaktionen geschult und weiterhin überwacht."}
{"category": "Klinische Visite", "description": "Eine ausführliche klinische Untersuchung wurde durchgeführt.", "result": "Die klinische Visite ergab keine neuen Befunde. Der Patient ist symptomfrei und zeigt eine positive Reaktion auf die laufende Therapie."}
{"category": "Untersuchungen", "description": "Eine MRT-Untersuchung wurde angeordnet, um die genaue Lokalisation eines Problems zu bestimmen.", "result": "Das MRT lieferte detaillierte Bilder und ermöglichte eine präzise Diagnose. Die weiteren Behandlungsschritte werden entsprechend den Ergebnissen geplant."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung entlassen.", "result": "Der Patient wurde in einem stabilen Zustand entlassen. Die Entlassungspapiere und Anweisungen für die Nachsorge wurden ausgehändigt."}
{"category": "Sonstiges", "description": "Zusätzliche Tests wurden angeordnet, um unklare Symptome zu klären.", "result": "Weitere diagnostische Tests wurden in Auftrag gegeben, um die Ursache der unklaren Symptome zu ermitteln. Der Patient wird über den Fortschritt informiert."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung zur Überprüfung der Schilddrüsenwerte durchgeführt.", "result": "Die Blutprobe wurde genommen, und die Ergebnisse deuten auf normale Schilddrüsenfunktion hin. Der Patient wird über mögliche Ursachen von Schilddrüsenproblemen informiert."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde optimiert, um die Wirksamkeit zu steigern.", "result": "Die Anpassung der Medikation wurde erfolgreich umgesetzt. Der Patient wird engmaschig überwacht, um auf mögliche Verbesserungen oder Nebenwirkungen zu reagieren."}
{"category": "Klinische Visite", "description": "Eine regelmäßige klinische Untersuchung wurde durchgeführt.", "result": "Bei der klinischen Visite wurden vitale Parameter überprüft, und der Patient zeigte eine stabile Verfassung. Es wurden keine neuen gesundheitlichen Probleme festgestellt."}
{"category": "Untersuchungen", "description": "Es wurde eine Ultraschalluntersuchung zur Abklärung von Bauchbeschwerden angeordnet.", "result": "Die Ultraschalluntersuchung lieferte Hinweise auf leichte Veränderungen im Bauchraum. Der behandelnde Arzt wird weitere Schritte zur Diagnose planen."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Genesung aus der Klinik entlassen.", "result": "Der Patient hat die Therapie erfolgreich abgeschlossen und wurde in einem guten Gesundheitszustand entlassen. Empfehlungen für die Nachsorge wurden gegeben."}
{"category": "Sonstiges", "description": "Es sind zusätzliche Tests erforderlich, um eine genaue Diagnose zu stellen.", "result": "Zusätzliche diagnostische Tests wurden angeordnet, um die genaue Ursache der Beschwerden zu identifizieren. Der Patient wird über die geplanten Untersuchungen informiert."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung zur Überprüfung der Leberfunktion durchgeführt.", "result": "Die Blutprobe wurde genommen, und die Ergebnisse deuten auf normale Leberfunktion hin. Der Patient wird über gesunde Lebensgewohnheiten aufgeklärt, um die Lebergesundheit zu unterstützen."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um auf neue gesundheitliche Entwicklungen zu reagieren.", "result": "Die Anpassung der Medikation erfolgte aufgrund neuer Befunde. Der Patient wird über die Gründe und mögliche Auswirkungen informiert."}
{"category": "Klinische Visite", "description": "Der Patient wurde klinisch untersucht, um die Fortschritte der Therapie zu überprüfen.", "result": "Bei der klinischen Visite wurden positive Fortschritte festgestellt. Der Patient zeigt eine verbesserte körperliche Verfassung, und die Therapie wird entsprechend angepasst."}
{"category": "Untersuchungen", "description": "Es wurde eine Röntgenuntersuchung zur Abklärung von Atembeschwerden angeordnet.", "result": "Die Röntgenuntersuchung ergab keine strukturellen Auffälligkeiten. Der behandelnde Arzt wird weitere Aspekte der Atemprobleme untersuchen."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Rehabilitation aus der stationären Behandlung entlassen.", "result": "Der Patient hat die Rehabilitation erfolgreich abgeschlossen und wurde in einem stabilen Zustand entlassen. Empfehlungen für die Fortsetzung der Rehabilitationsmaßnahmen wurden gegeben."}
{"category": "Sonstiges", "description": "Es sind weitere diagnostische Maßnahmen erforderlich, um die Symptome zu klären.", "result": "Weitere diagnostische Maßnahmen wurden eingeleitet, um die Ursache der Symptome zu identifizieren. Der Patient wird über den geplanten Untersuchungsverlauf informiert."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung zur Überprüfung der Blutzuckerwerte durchgeführt.", "result": "Die Blutprobe wurde entnommen, und die Ergebnisse deuten auf einen normalen Blutzuckerspiegel hin. Der Patient wird über gesunde Ernährungsgewohnheiten und regelmäßige Bewegung aufgeklärt."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um mögliche Wechselwirkungen zu vermeiden.", "result": "Die Anpassung der Medikation wurde aufgrund von möglichen Wechselwirkungen erfolgreich umgesetzt. Der Patient wird über die Bedeutung der Einhaltung der vorgeschriebenen Einnahmezeiten informiert."}
{"category": "Klinische Visite", "description": "Eine routinemäßige klinische Untersuchung wurde durchgeführt.", "result": "Bei der klinischen Visite wurden keine neuen gesundheitlichen Probleme festgestellt. Der Patient zeigt eine stabile Verfassung und setzt die empfohlene Therapie fort."}
{"category": "Untersuchungen", "description": "Es wurde eine Endoskopie zur genaueren Untersuchung des Magen-Darm-Trakts angeordnet.", "result": "Die Endoskopie lieferte präzise Bilder des Magen-Darm-Trakts. Der behandelnde Arzt wird die Ergebnisse auswerten und die weitere Vorgehensweise mit dem Patienten besprechen."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Operation aus dem Krankenhaus entlassen.", "result": "Nach einer erfolgreichen Operation wurde der Patient in einem stabilen Zustand entlassen. Empfehlungen für die postoperative Pflege wurden gegeben."}
{"category": "Sonstiges", "description": "Es sind zusätzliche Tests erforderlich, um eine genaue Diagnose zu stellen.", "result": "Zusätzliche diagnostische Tests wurden angeordnet, um die genaue Ursache der Beschwerden zu ermitteln. Der Patient wird über den geplanten Untersuchungsverlauf informiert."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung zur Überprüfung der Eisenwerte durchgeführt.", "result": "Die Blutprobe wurde entnommen, und die Ergebnisse deuten auf normale Eisenwerte hin. Der Patient wird über eisenreiche Ernährung informiert, um einen optimalen Eisenspiegel aufrechtzuerhalten."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um auf aktuelle Laborergebnisse zu reagieren.", "result": "Die Anpassung der Medikation erfolgte basierend auf aktuellen Laborergebnissen. Der Patient wird über die Bedeutung der regelmäßigen Kontrolluntersuchungen informiert."}
{"category": "Klinische Visite", "description": "Eine umfassende klinische Untersuchung wurde durchgeführt.", "result": "Die klinische Visite ergab keine neuen gesundheitlichen Probleme. Der Patient zeigt eine positive Reaktion auf die Therapie und wird weiterhin engmaschig überwacht."}
{"category": "Untersuchungen", "description": "Es wurde eine CT-Untersuchung zur Abklärung von Kopfschmerzen angeordnet.", "result": "Die CT-Untersuchung des Kopfes zeigte keine strukturellen Auffälligkeiten. Der behandelnde Arzt wird weitere Aspekte der Kopfschmerzen untersuchen."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung aus der Klinik entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung der vitalen Parameter wurde der Patient in einem stabilen Zustand entlassen. Empfehlungen für die Nachsorge wurden gegeben."}
{"category": "Sonstiges", "description": "Es sind weitere diagnostische Maßnahmen erforderlich, um die Ursache der Beschwerden zu klären.", "result": "Weitere diagnostische Maßnahmen wurden eingeleitet, um die genaue Ursache der Beschwerden zu identifizieren. Der Patient wird über den geplanten Untersuchungsverlauf informiert."}
{"category": "Klinische Visite", "description": "Der Patient wurde auf mögliche Infektionen untersucht, um frühzeitig Maßnahmen ergreifen zu können.", "result": "Bei der klinischen Visite wurden Symptome einer Infektion überprüft. Der Patient zeigt keine Anzeichen einer akuten Infektion. Weiterhin werden regelmäßige Kontrollen durchgeführt, um eventuelle Veränderungen frühzeitig zu erkennen."}
{"category": "Medikationsumstellung", "description": "Eine Anpassung der Medikation wurde vorgenommen, um Nebenwirkungen zu minimieren.", "result": "Die Medikationsumstellung erfolgte aufgrund von bisherigen Nebenwirkungen. Der Patient wird über mögliche Veränderungen in den kommenden Tagen informiert. Bei auftretenden Beschwerden sollte umgehend Kontakt aufgenommen werden."}
{"category": "Laborabnahme", "description": "Es wurden verschiedene Blutwerte überprüft, um den Gesundheitszustand zu bewerten.", "result": "Die Blutuntersuchung ergab normale Werte in den meisten Parametern. Einige Werte werden weiter überwacht. Der Patient wird über die Ergebnisse informiert und weitere Schritte werden besprochen."}
{"category": "Untersuchungen", "description": "Es ist eine Ultraschalluntersuchung des Bauchraums geplant.", "result": "Die Ultraschalluntersuchung wurde durchgeführt, um den Zustand der inneren Organe zu beurteilen. Bisher wurden keine Auffälligkeiten festgestellt. Die genauen Ergebnisse werden mit dem Patienten bei der nächsten Visite besprochen."}
{"category": "Sonstiges", "description": "Der Patient benötigt spezielle physiotherapeutische Maßnahmen.", "result": "Physiotherapie wurde verschrieben, um die Genesung zu unterstützen. Der Therapieplan wird individuell angepasst, um auf die Bedürfnisse des Patienten einzugehen."}
{"category": "Klinische Visite", "description": "Es wurden neurologische Tests durchgeführt, um mögliche Veränderungen festzustellen.", "result": "Die neurologische Untersuchung zeigte keine Anzeichen von neurologischen Erkrankungen. Der Patient ist weiterhin stabil. Die Behandlung wird entsprechend fortgesetzt."}
{"category": "Medikationsumstellung", "description": "Änderungen in der Medikation wurden vorgenommen, um die Therapieeffizienz zu steigern.", "result": "Die Medikationsanpassung erfolgte nach eingehender Prüfung. Der Patient wird auf mögliche Nebenwirkungen aufmerksam gemacht. Regelmäßige Kontrollen sind wichtig, um die Wirkung zu überwachen."}
{"category": "Laborabnahme", "description": "Blutproben wurden für eine umfassende Analyse entnommen.", "result": "Die Blutproben wurden dem Labor übergeben, um verschiedene Parameter zu überprüfen. Die Ergebnisse werden in den nächsten Tagen erwartet."}
{"category": "Untersuchungen", "description": "Es ist eine Magnetresonanztomographie (MRT) des Kopfes geplant.", "result": "Die MRT-Untersuchung wurde durchgeführt, um detaillierte Bilder des Gehirns zu erhalten. Die Aufnahmen zeigen keine strukturellen Auffälligkeiten. Die Ergebnisse werden mit dem Patienten besprochen."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung der vitalen Parameter wurde der Patient in einem stabilen Zustand entlassen. Er erhielt Empfehlungen für die Nachsorge und mögliche weiterführende Maßnahmen."}
{"category": "Sonstiges", "description": "Es sind weitere bildgebende Untersuchungen erforderlich, um die Diagnose zu präzisieren.", "result": "Zusätzliche bildgebende Untersuchungen wurden angeordnet, um detaillierte Informationen über den Zustand des betroffenen Bereichs zu erhalten. Die Ergebnisse werden mit dem Patienten ausführlich besprochen."}
{"category": "Laborabnahme", "description": "Es wurden Blutproben entnommen, um die Wirksamkeit der aktuellen Therapie zu überprüfen.", "result": "Die Blutabnahme erfolgte zur Bestimmung von Medikamentenspiegeln und anderen relevanten Parametern. Die Ergebnisse werden genutzt, um die Therapie gegebenenfalls anzupassen."}
{"category": "Klinische Visite", "description": "Eine umfassende körperliche Untersuchung wurde durchgeführt.", "result": "Bei der klinischen Visite wurden alle relevanten Körpersysteme überprüft. Es wurden keine Anomalien festgestellt. Der Patient befindet sich in einem guten Allgemeinzustand."}
{"category": "Medikationsumstellung", "description": "Anpassungen in der Medikation wurden vorgenommen, um die Symptome zu lindern.", "result": "Die Medikationsumstellung erfolgte, um die Behandlungseffizienz zu verbessern. Der Patient wird auf mögliche Nebenwirkungen hingewiesen und sollte Veränderungen im Befinden mitteilen."}
{"category": "Untersuchungen", "description": "Es sind weitere diagnostische Tests erforderlich, um die Ursache der Beschwerden zu identifizieren.", "result": "Zusätzliche Untersuchungen wurden angeordnet, um detaillierte Informationen über den Gesundheitszustand des Patienten zu erhalten. Die Ergebnisse werden zur weiteren Behandlungsplanung genutzt."}
{"category": "Entlassung", "description": "Nach erfolgreicher Behandlung wurde der Patient entlassen.", "result": "Der Patient wurde in einem stabilen Zustand entlassen. Er erhielt schriftliche Empfehlungen für die poststationäre Betreuung und wird regelmäßig nachkontrolliert."}
{"category": "Sonstiges", "description": "Es sind genetische Tests geplant, um mögliche genetische Ursachen auszuschließen.", "result": "Genetische Tests wurden empfohlen, um mögliche genetische Ursachen von Beschwerden zu identifizieren. Der Patient wird über den Ablauf der Tests informiert und um Zustimmung gebeten."}
{"category": "Klinische Visite", "description": "Der Patient wurde auf neurologische Symptome untersucht.", "result": "Die klinische Visite konzentrierte sich auf die Überprüfung von neurologischen Funktionen. Bisher wurden keine Auffälligkeiten festgestellt. Der Patient wird weiterhin sorgfältig überwacht."}
{"category": "Medikationsumstellung", "description": "Anpassungen in der Medikation wurden vorgenommen, um die Wirksamkeit zu steigern.", "result": "Die Medikationsumstellung erfolgte nach sorgfältiger Abwägung. Der Patient wird über mögliche Veränderungen in den nächsten Tagen informiert. Bei auftretenden Problemen sollte sofort Kontakt aufgenommen werden."}
{"category": "Laborabnahme", "description": "Es wurden Blutproben entnommen, um die aktuellen Blutwerte zu überprüfen.", "result": "Die Blutuntersuchung ergab normale Werte in den meisten Parametern. Einige Werte werden weiter überwacht. Der Patient wird über die Ergebnisse informiert und weitere Schritte werden besprochen."}
{"category": "Klinische Visite", "description": "Routinemäßige klinische Untersuchung zur Überwachung des Patientenzustands.", "result": "Vitalparameter wurden überprüft, und es wurden keine signifikanten Veränderungen festgestellt. Der Patient zeigt eine positive Resonanz auf die laufende Behandlung."}
{"category": "Medikationsumstellung", "description": "Anpassung der Medikation aufgrund von Nebenwirkungen.", "result": "Die Medikamentendosis wurde angepasst, um unerwünschte Nebenwirkungen zu minimieren. Der Patient wird weiterhin überwacht, um die Wirksamkeit der Änderungen zu bewerten."}
{"category": "Laborabnahme", "description": "Blutentnahme zur Überprüfung der Leberfunktion.", "result": "Die Blutprobe wurde entnommen, um Leberenzyme zu überprüfen. Die Ergebnisse werden in den nächsten Tagen erwartet."}
{"category": "Untersuchungen", "description": "Empfohlene bildgebende Untersuchung zur genaueren Diagnose.", "result": "Die bildgebende Untersuchung wurde durchgeführt, um detaillierte Informationen über den Zustand des betroffenen Organs zu erhalten. Die Ergebnisse werden mit dem Patienten besprochen."}
{"category": "Sonstiges", "description": "Besprechung von Lebensstiländerungen zur Verbesserung der Gesundheit.", "result": "Der Patient wurde über notwendige Lebensstiländerungen informiert, um die Gesundheit zu fördern. Ein individueller Plan wurde erstellt und wird aktiv umgesetzt."}
{"category": "Klinische Visite", "description": "Überprüfung der postoperativen Genesung.", "result": "Nach einer kürzlich durchgeführten Operation wurde der Patient klinisch untersucht. Der Heilungsprozess verläuft zufriedenstellend, und es wurden keine Komplikationen festgestellt."}
{"category": "Entlassung", "description": "Abschluss der stationären Behandlung und Entlassungsplanung.", "result": "Der Patient wurde nach erfolgreicher Behandlung entlassen. Ein umfassender Entlassungsplan wurde erstellt, der die notwendige Nachsorge und Medikation umfasst."}
{"category": "Laborabnahme", "description": "Blutentnahme zur Überprüfung des Cholesterinspiegels.", "result": "Die Blutprobe wurde entnommen, um den Cholesterinspiegel zu überprüfen. Die Ergebnisse werden in Kürze verfügbar sein."}
{"category": "Medikationsumstellung", "description": "Anpassung der Medikation aufgrund von Therapieerfolgen.", "result": "Die Medikation wurde angepasst, da positive Fortschritte in der Behandlung erkennbar sind. Der Patient zeigt eine verbesserte klinische Verfassung."}
{"category": "Sonstiges", "description": "Beratung zu gesundheitsfördernden Maßnahmen.", "result": "Der Patient erhielt eine umfassende Beratung zu gesundheitsfördernden Maßnahmen, einschließlich Ernährung, Bewegung und Stressmanagement."}
{"category": "Klinische Visite", "description": "Überprüfung von Symptomen und Anpassung der Therapie.", "result": "Bei der klinischen Visite wurden aktuelle Symptome besprochen, und die Therapie wurde entsprechend angepasst. Der Patient wird weiterhin überwacht."}
{"category": "Untersuchungen", "description": "Durchführung einer speziellen diagnostischen Untersuchung.", "result": "Die spezielle diagnostische Untersuchung wurde erfolgreich durchgeführt, um genauere Informationen über den Zustand des Patienten zu erhalten. Die Ergebnisse werden analysiert."}
{"category": "Entlassung", "description": "Vorbereitung auf die Entlassung und Abschlussgespräch.", "result": "Der Patient wurde auf die Entlassung vorbereitet, und ein Abschlussgespräch wurde geführt. Der Patient wurde über die wichtigsten Nachsorgemaßnahmen informiert."}
{"category": "Laborabnahme", "description": "Blutentnahme zur Überprüfung der Schilddrüsenfunktion.", "result": "Die Blutprobe wurde entnommen, um die Schilddrüsenfunktion zu überprüfen. Die Ergebnisse werden in den nächsten Tagen erwartet."}
{"category": "Medikationsumstellung", "description": "Anpassung der Medikation aufgrund von Unverträglichkeiten.", "result": "Die Medikation wurde angepasst, um unerwünschte Nebenwirkungen zu minimieren. Der Patient wird auf mögliche allergische Reaktionen überwacht."}
{"category": "Klinische Visite", "description": "Routinemäßige klinische Untersuchung zur Überwachung des Therapieverlaufs.", "result": "Vitalparameter und Symptome wurden überprüft, und der Patient zeigt eine positive Reaktion auf die laufende Therapie."}
{"category": "Untersuchungen", "description": "Empfohlene gastrointestinale Untersuchung zur weiteren Diagnose.", "result": "Die gastrointestinale Untersuchung wurde durchgeführt, um genaue Informationen über den Zustand des Verdauungssystems zu erhalten. Die Ergebnisse werden mit dem Patienten besprochen."}
{"category": "Sonstiges", "description": "Beratung zur Krankheitsprävention und Gesundheitsförderung.", "result": "Der Patient erhielt eine umfassende Beratung zur Krankheitsprävention und Förderung der allgemeinen Gesundheit. Maßnahmen zur Risikoreduktion wurden besprochen."}
{"category": "Klinische Visite", "description": "Überprüfung der postoperativen Wundheilung.", "result": "Nach einer kürzlich durchgeführten Operation wurde die Wundheilung überprüft. Die Wunde verheilt zufriedenstellend, und es wurden keine Anzeichen von Infektionen festgestellt."}
{"category": "Entlassung", "description": "Abschluss der stationären Behandlung und Entlassungsplanung.", "result": "Der Patient wurde nach erfolgreicher Behandlung entlassen. Ein detaillierter Entlassungsplan wurde erstellt, der die Nachsorge und Medikation umfasst."}
{"category": "Laborabnahme", "description": "Blutentnahme zur Überprüfung der Nierenfunktion.", "result": "Die Blutprobe wurde entnommen, um die Nierenfunktion zu überprüfen. Die Ergebnisse werden in Kürze verfügbar sein."}
{"category": "Medikationsumstellung", "description": "Anpassung der Medikation aufgrund von Therapieerfolgen.", "result": "Die Medikation wurde angepasst, da positive Fortschritte in der Behandlung erkennbar sind. Der Patient zeigt eine verbesserte klinische Verfassung."}
{"category": "Medikationsumstellung", "description": "Es wurden Änderungen in der Medikation vorgenommen, um die Therapie anzupassen.", "result": "Die Medikamentendosis wurde angepasst, um eine optimale Wirkung zu erzielen. Der Patient wird auf mögliche Nebenwirkungen überwacht."}
{"category": "Klinische Visite", "description": "Eine umfassende klinische Untersuchung wurde durchgeführt, um den Gesundheitszustand zu überprüfen.", "result": "Während der klinischen Visite wurden alle relevanten Gesundheitsparameter überprüft. Der Patient zeigt positive Fortschritte und es wurden keine Anzeichen von Komplikationen festgestellt."}
{"category": "Untersuchungen", "description": "Eine Blutuntersuchung wurde angeordnet, um spezifische Laborwerte zu überprüfen.", "result": "Die Blutuntersuchung wurde durchgeführt, um spezifische Laborwerte zu überprüfen. Die Ergebnisse werden dem behandelnden Arzt für weitere Bewertungen vorgelegt."}
{"category": "Sonstiges", "description": "Zusätzliche diagnostische Maßnahmen sind erforderlich, um eine genaue Diagnose zu stellen.", "result": "Aufgrund unklarer Symptome wurden zusätzliche diagnostische Maßnahmen eingeleitet, um die genaue Ursache zu identifizieren. Der Patient wird über den weiteren Ablauf informiert."}
{"category": "Laborabnahme", "description": "Eine routinemäßige Blutabnahme wurde durchgeführt, um die allgemeinen Gesundheitswerte zu überprüfen.", "result": "Die routinemäßige Blutabnahme ergab normale Werte, die auf eine stabile Gesundheit hinweisen. Der Patient wird weiterhin überwacht."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung aus der Klinik entlassen.", "result": "Nach Abschluss der Behandlung wurde der Patient in einem guten Zustand entlassen. Er erhielt Anweisungen für die Nachsorge und die Einnahme von Medikamenten."}
{"category": "Klinische Visite", "description": "Die regelmäßige klinische Visite wurde durchgeführt, um den Therapieverlauf zu bewerten.", "result": "Bei der klinischen Visite wurden Fortschritte im Therapieverlauf festgestellt. Der Patient zeigt eine positive Resonanz auf die aktuelle Behandlung."}
{"category": "Medikationsumstellung", "description": "Es wurden Anpassungen in der Medikation vorgenommen, um Nebenwirkungen zu minimieren.", "result": "Die Medikamentendosis wurde angepasst, um mögliche Nebenwirkungen zu minimieren. Der Patient wird auf Veränderungen im Gesundheitszustand überwacht."}
{"category": "Sonstiges", "description": "Weitere diagnostische Tests wurden angeordnet, um spezifische Symptome zu klären.", "result": "Aufgrund von spezifischen Symptomen wurden zusätzliche diagnostische Tests angeordnet. Die Ergebnisse werden für eine genauere Diagnose ausgewertet."}
{"category": "Untersuchungen", "description": "Es wurde eine bildgebende Untersuchung durchgeführt, um innere Organe zu überprüfen.", "result": "Die bildgebende Untersuchung ergab keine Anomalien in den inneren Organen. Der behandelnde Arzt wird die Ergebnisse mit dem Patienten besprechen."}
{"category": "Laborabnahme", "description": "Blutproben wurden genommen, um die Wirksamkeit der laufenden Behandlung zu überwachen.", "result": "Die Blutproben wurden genommen, um die Wirksamkeit der laufenden Behandlung zu überprüfen. Die Ergebnisse werden für die weitere Therapieplanung berücksichtigt."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Genesung aus der stationären Behandlung entlassen.", "result": "Der Patient hat sich vollständig erholt und wurde in einem stabilen Zustand entlassen. Die Einhaltung der empfohlenen Nachsorgemaßnahmen wird empfohlen."}
{"category": "Sonstiges", "description": "Weitere Spezialuntersuchungen wurden empfohlen, um bestimmte Gesundheitsfragen zu klären.", "result": "Aufgrund spezifischer Gesundheitsfragen wurden weitere Spezialuntersuchungen empfohlen. Der Patient wird über die Notwendigkeit und den Ablauf informiert."}
{"category": "Klinische Visite", "description": "Die regelmäßige klinische Visite wurde durchgeführt, um den Therapieverlauf zu überwachen.", "result": "Bei der klinischen Visite wurden keine Auffälligkeiten festgestellt. Der Patient zeigt eine stabile Gesundheitslage und setzt die Therapie erfolgreich fort."}
{"category": "Untersuchungen", "description": "Eine Ultraschalluntersuchung wurde durchgeführt, um strukturelle Veränderungen zu erkennen.", "result": "Die Ultraschalluntersuchung zeigte keine strukturellen Veränderungen. Der Befund deutet auf eine normale Organstruktur hin."}
{"category": "Laborabnahme", "description": "Blutproben wurden entnommen, um spezifische Werte im Zusammenhang mit der Erkrankung zu überprüfen.", "result": "Die Blutproben wurden entnommen und zur Analyse geschickt. Die Ergebnisse werden für eine individualisierte Behandlungsplanung berücksichtigt."}
{"category": "Medikationsumstellung", "description": "Es wurde eine Anpassung der Medikation vorgenommen, um die Symptomkontrolle zu verbessern.", "result": "Die Anpassung der Medikation führte zu einer verbesserten Symptomkontrolle. Der Patient berichtet über eine subjektive Besserung seines Befindens."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung und Stabilisierung aus der Klinik entlassen.", "result": "Nach erfolgreicher Behandlung und Stabilisierung wurde der Patient aus der Klinik entlassen. Er wurde über die Bedeutung der Nachsorge informiert."}
{"category": "Sonstiges", "description": "Weitere diagnostische Maßnahmen wurden eingeleitet, um unklare Beschwerden zu klären.", "result": "Zusätzliche diagnostische Maßnahmen wurden eingeleitet, um die Ursache der unklaren Beschwerden zu identifizieren. Der Patient wird über die geplanten Untersuchungen informiert."}
{"category": "Klinische Visite", "description": "Eine umfassende klinische Untersuchung wurde durchgeführt, um den Therapieverlauf zu bewerten.", "result": "Die klinische Untersuchung ergab keine Auffälligkeiten. Der Patient zeigt positive Fortschritte im Therapieverlauf."}
{"category": "Untersuchungen", "description": "Es wurde eine spezielle Laboruntersuchung angeordnet, um auf bestimmte Krankheitsmarker zu testen.", "result": "Die spezielle Laboruntersuchung wurde durchgeführt, um auf bestimmte Krankheitsmarker zu testen. Die Ergebnisse werden zur weiteren Diagnose herangezogen."}
{"category": "Laborabnahme", "description": "Blutproben wurden entnommen, um die Wirkung der aktuellen Therapie zu überwachen.", "result": "Die Blutproben wurden entnommen und werden auf die Wirkung der aktuellen Therapie überprüft. Anpassungen werden bei Bedarf vorgenommen."}
{"category": "Medikationsumstellung", "description": "Es wurden Änderungen in der Medikation vorgenommen, um Nebenwirkungen zu minimieren.", "result": "Die Medikamentendosis wurde angepasst, um mögliche Nebenwirkungen zu minimieren. Der Patient wird auf Veränderungen im Gesundheitszustand überwacht."}
{"category": "Sonstiges", "description": "Weitere diagnostische Tests wurden angeordnet, um spezifische Symptome zu klären.", "result": "Aufgrund von spezifischen Symptomen wurden weitere diagnostische Tests angeordnet. Die Ergebnisse werden für eine genauere Diagnose ausgewertet."}
{"category": "Klinische Visite", "description": "Die regelmäßige klinische Visite wurde durchgeführt, um den Therapieverlauf zu überwachen.", "result": "Bei der klinischen Visite wurden keine Auffälligkeiten festgestellt. Der Patient zeigt eine stabile Gesundheitslage und setzt die Therapie erfolgreich fort."}
{"category": "Untersuchungen", "description": "Eine Ultraschalluntersuchung wurde durchgeführt, um strukturelle Veränderungen zu erkennen.", "result": "Die Ultraschalluntersuchung zeigte keine strukturellen Veränderungen. Der Befund deutet auf eine normale Organstruktur hin."}
{"category": "Laborabnahme", "description": "Blutproben wurden entnommen, um spezifische Werte im Zusammenhang mit der Erkrankung zu überprüfen.", "result": "Die Blutproben wurden entnommen und zur Analyse geschickt. Die Ergebnisse werden für eine individualisierte Behandlungsplanung berücksichtigt."}
{"category": "Medikationsumstellung", "description": "Es wurde eine Anpassung der Medikation vorgenommen, um die Symptomkontrolle zu verbessern.", "result": "Die Anpassung der Medikation führte zu einer verbesserten Symptomkontrolle. Der Patient berichtet über eine subjektive Besserung seines Befindens."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung und Stabilisierung aus der Klinik entlassen.", "result": "Nach erfolgreicher Behandlung und Stabilisierung wurde der Patient aus der Klinik entlassen. Er wurde über die Bedeutung der Nachsorge informiert."}
{"category": "Sonstiges", "description": "Weitere diagnostische Maßnahmen wurden eingeleitet, um unklare Beschwerden zu klären.", "result": "Zusätzliche diagnostische Maßnahmen wurden eingeleitet, um die Ursache der unklaren Beschwerden zu identifizieren. Der Patient wird über die geplanten Untersuchungen informiert."}
{"category": "Klinische Visite", "description": "Eine umfassende klinische Untersuchung wurde durchgeführt, um den Therapieverlauf zu bewerten.", "result": "Die klinische Untersuchung ergab keine Auffälligkeiten. Der Patient zeigt positive Fortschritte im Therapieverlauf."}
{"category": "Untersuchungen", "description": "Es wurde eine spezielle Laboruntersuchung angeordnet, um auf bestimmte Krankheitsmarker zu testen.", "result": "Die spezielle Laboruntersuchung wurde durchgeführt, um auf bestimmte Krankheitsmarker zu testen. Die Ergebnisse werden zur weiteren Diagnose herangezogen."}
{"category": "Laborabnahme", "description": "Blutproben wurden entnommen, um die Wirkung der aktuellen Therapie zu überwachen.", "result": "Die Blutproben wurden entnommen und werden auf die Wirkung der aktuellen Therapie überprüft. Anpassungen werden bei Bedarf vorgenommen."}
{"category": "Medikationsumstellung", "description": "Es wurden Änderungen in der Medikation vorgenommen, um Nebenwirkungen zu minimieren.", "result": "Die Medikamentendosis wurde angepasst, um mögliche Nebenwirkungen zu minimieren. Der Patient wird auf Veränderungen im Gesundheitszustand überwacht."}
{"category": "Sonstiges", "description": "Weitere diagnostische Tests wurden angeordnet, um spezifische Symptome zu klären.", "result": "Aufgrund von spezifischen Symptomen wurden weitere diagnostische Tests angeordnet. Die Ergebnisse werden für eine genauere Diagnose ausgewertet."}
{"category": "Klinische Visite", "description": "Die regelmäßige klinische Visite wurde durchgeführt, um den Therapieverlauf zu überwachen.", "result": "Bei der klinischen Visite wurden keine Auffälligkeiten festgestellt. Der Patient zeigt eine stabile Gesundheitslage und setzt die Therapie erfolgreich fort."}
{"category": "Untersuchungen", "description": "Eine Ultraschalluntersuchung wurde durchgeführt, um strukturelle Veränderungen zu erkennen.", "result": "Die Ultraschalluntersuchung zeigte keine strukturellen Veränderungen. Der Befund deutet auf eine normale Organstruktur hin."}
{"category": "Untersuchungen", "description": "Es ist eine Ultraschalluntersuchung des Bauchraums notwendig.", "result": "Die Ultraschalluntersuchung wurde durchgeführt, um die inneren Organe im Bauchraum zu überprüfen. Es wurden keine Auffälligkeiten festgestellt."}
{"category": "Medikationsumstellung", "description": "Anpassung der Dosierung eines Blutdruckmedikaments.", "result": "Die Dosierung des Blutdruckmedikaments wurde angepasst, um eine optimale Blutdruckkontrolle zu erreichen. Der Patient wird regelmäßig überwacht, um eventuelle Nebenwirkungen zu erfassen."}
{"category": "Klinische Visite", "description": "Routinekontrolle des postoperativen Zustands.", "result": "Die klinische Visite nach einer Operation ergab, dass der Patient eine normale postoperative Erholung zeigt. Wundheilung und vitale Parameter sind im normalen Bereich."}
{"category": "Laborabnahme", "description": "Bestimmung der Nierenfunktion durch Blutuntersuchung.", "result": "Die Blutabnahme zur Bestimmung der Nierenfunktion wurde durchgeführt. Die Laborergebnisse werden ausgewertet und mit dem Patienten besprochen."}
{"category": "Entlassung", "description": "Der Patient wird nach erfolgreicher Therapie aus der Klinik entlassen.", "result": "Nach Abschluss der geplanten Therapie wurde der Patient in einem stabilen Zustand entlassen. Empfehlungen für die Nachsorge wurden dem Patienten mitgeteilt."}
{"category": "Sonstiges", "description": "Notwendigkeit einer weiteren neurologischen Untersuchung.", "result": "Aufgrund spezifischer Symptome wird eine vertiefende neurologische Untersuchung empfohlen. Die genauen Untersuchungen werden mit dem Patienten besprochen."}
{"category": "Klinische Visite", "description": "Überwachung der vitalen Parameter bei akuten Beschwerden.", "result": "Die klinische Visite erfolgte aufgrund akuter Beschwerden. Die vitalen Parameter wurden überwacht, und entsprechende Maßnahmen wurden eingeleitet, um den Zustand zu stabilisieren."}
{"category": "Medikationsumstellung", "description": "Änderung der Medikation aufgrund neuer Laborergebnisse.", "result": "Die Medikation wurde aufgrund aktueller Laborergebnisse angepasst. Der Patient wird auf mögliche Veränderungen im Behandlungsverlauf überwacht."}
{"category": "Laborabnahme", "description": "Blutuntersuchung zur Überprüfung der Schilddrüsenfunktion.", "result": "Die Blutuntersuchung zur Überprüfung der Schilddrüsenfunktion wurde durchgeführt. Die Ergebnisse werden analysiert, um die weitere Behandlungsstrategie festzulegen."}
{"category": "Untersuchungen", "description": "MRT-Untersuchung zur detaillierten Darstellung des Rückenmarks.", "result": "Die MRT-Untersuchung des Rückenmarks liefert detaillierte Bilder für die genaue Beurteilung. Die Ergebnisse werden mit dem behandelnden Arzt besprochen."}
{"category": "Entlassung", "description": "Patient wird nach erfolgreicher Therapie aus der Rehabilitationsklinik entlassen.", "result": "Der Patient hat die Rehabilitationsmaßnahmen erfolgreich abgeschlossen und wird in einem verbesserten Zustand entlassen. Empfehlungen für die weitere Gesundheitspflege wurden mitgeteilt."}
{"category": "Sonstiges", "description": "Empfehlung für physiotherapeutische Maßnahmen bei muskulären Beschwerden.", "result": "Aufgrund von muskulären Beschwerden wird dem Patienten eine physiotherapeutische Behandlung empfohlen. Der Therapieplan wird individuell angepasst."}
{"category": "Klinische Visite", "description": "Überwachung der postoperativen Wundheilung.", "result": "Die klinische Visite konzentrierte sich auf die Überwachung der postoperativen Wundheilung. Es wurden keine Anzeichen von Infektionen oder Komplikationen festgestellt."}
{"category": "Medikationsumstellung", "description": "Umstellung der Schmerzmedikation aufgrund vermehrter Nebenwirkungen.", "result": "Die Schmerzmedikation wurde aufgrund vermehrter Nebenwirkungen umgestellt. Der Patient wird engmaschig überwacht, um die Verträglichkeit der neuen Medikamente zu überprüfen."}
{"category": "Laborabnahme", "description": "Blutprobe zur Bestimmung des Vitamin-D-Spiegels.", "result": "Die Blutprobe zur Bestimmung des Vitamin-D-Spiegels wurde entnommen. Die Ergebnisse werden genutzt, um eine angemessene Supplementierung zu planen."}
{"category": "Untersuchungen", "description": "Durchführung einer Endoskopie zur Abklärung von Magenbeschwerden.", "result": "Die Endoskopie ermöglichte eine genaue Untersuchung des Magens. Es wurden keine ernsthaften Anomalien festgestellt, und die Beschwerden werden weiter beobachtet."}
{"category": "Entlassung", "description": "Der Patient wird nach Abschluss der Therapie aus der psychiatrischen Station entlassen.", "result": "Der Patient hat die psychiatrische Therapie erfolgreich abgeschlossen und wird in einem stabilen Zustand entlassen. Empfehlungen für die Nachsorge wurden übermittelt."}
{"category": "Sonstiges", "description": "Empfehlung für eine Ernährungsberatung aufgrund von Gewichtsproblemen.", "result": "Aufgrund von Gewichtsproblemen wird dem Patienten eine Ernährungsberatung empfohlen. Die Beratung zielt darauf ab, eine gesunde und ausgewogene Ernährung zu fördern."}
{"category": "Klinische Visite", "description": "Überprüfung der Medikamentenverträglichkeit bei langfristiger Therapie.", "result": "Die klinische Visite diente der Überprüfung der Medikamentenverträglichkeit bei einer langfristigen Therapie. Der Patient zeigt keine Anzeichen von Nebenwirkungen, und die Therapie wird fortgesetzt."}
{"category": "Medikationsumstellung", "description": "Anpassung der Dosierung eines Antidiabetikums aufgrund von Blutzuckerwerten.", "result": "Die Dosierung des Antidiabetikums wurde angepasst, um die Blutzuckerwerte zu stabilisieren. Der Patient wird regelmäßig überwacht, um die Effektivität der Therapie zu überprüfen."}
{"category": "Laborabnahme", "description": "Blutuntersuchung zur Überprüfung der Leberfunktion.", "result": "Die Blutuntersuchung zur Überprüfung der Leberfunktion wurde durchgeführt. Die Ergebnisse werden analysiert, um die weitere Vorgehensweise in der Behandlung zu bestimmen."}
{"category": "Untersuchungen", "description": "Durchführung eines EEGs zur Abklärung von neurologischen Symptomen.", "result": "Das EEG lieferte wichtige Informationen zur Abklärung der neurologischen Symptome. Die Ergebnisse werden mit einem Neurologen besprochen, um die Diagnose zu vervollständigen."}
{"category": "Entlassung", "description": "Der Patient wird nach erfolgreicher Behandlung aus der pädiatrischen Abteilung entlassen.", "result": "Der kleine Patient hat die Behandlung erfolgreich abgeschlossen und wird in einem verbesserten Zustand entlassen. Empfehlungen für die elterliche Nachsorge wurden mitgeteilt."}
{"category": "Sonstiges", "description": "Empfehlung für eine psychologische Beratung aufgrund von Stresssymptomen.", "result": "Aufgrund von Stresssymptomen wird dem Patienten eine psychologische Beratung empfohlen. Die Sitzungen werden darauf abzielen, stressbewältigende Strategien zu entwickeln."}
{"category": "Klinische Visite", "description": "Überwachung der Atmung und Sauerstoffsättigung bei Atembeschwerden.", "result": "Die klinische Visite konzentrierte sich auf die Überwachung der Atmung und Sauerstoffsättigung bei Atembeschwerden. Entsprechende Maßnahmen wurden eingeleitet, um die Atemfunktion zu unterstützen."}
{"category": "Medikationsumstellung", "description": "Anpassung der Schmerzmedikation aufgrund veränderter Schmerzsymptomatik.", "result": "Die Schmerzmedikation wurde aufgrund veränderter Schmerzsymptomatik angepasst. Der Patient wird über mögliche Nebenwirkungen informiert und engmaschig überwacht."}
{"category": "Laborabnahme", "description": "Blutprobe zur Bestimmung des Cholesterinspiegels.", "result": "Die Blutprobe zur Bestimmung des Cholesterinspiegels wurde entnommen. Die Ergebnisse werden genutzt, um das Risiko von Herz-Kreislauf-Erkrankungen zu bewerten."}
{"category": "Untersuchungen", "description": "Durchführung einer Röntgenaufnahme zur Beurteilung von Gelenkproblemen.", "result": "Die Röntgenaufnahme ermöglichte eine detaillierte Beurteilung von Gelenkproblemen. Die Bilder werden mit einem Orthopäden besprochen, um eine geeignete Behandlungsstrategie festzulegen."}
{"category": "Entlassung", "description": "Der Patient wird nach erfolgreicher Chemotherapie aus der Onkologie entlassen.", "result": "Der Patient hat die Chemotherapie erfolgreich abgeschlossen und wird in einem verbesserten Zustand entlassen. Empfehlungen für die langfristige Nachsorge wurden mitgeteilt."}
{"category": "Sonstiges", "description": "Empfehlung für eine Ernährungsanpassung aufgrund von Magen-Darm-Beschwerden.", "result": "Aufgrund von Magen-Darm-Beschwerden wird dem Patienten eine Ernährungsanpassung empfohlen. Ein Ernährungsplan wird in Absprache mit einem Ernährungsspezialisten erstellt."}
{"category": "Klinische Visite", "description": "Überprüfung der Wundheilung nach einer Hautoperation.", "result": "Die klinische Visite konzentrierte sich auf die Überprüfung der Wundheilung nach einer Hautoperation. Die Wunde zeigt eine normale Heilung, und der Verband wird entsprechend angepasst."}
{"category": "Medikationsumstellung", "description": "Anpassung der Antidepressiva-Dosierung aufgrund von Stimmungsschwankungen.", "result": "Die Dosierung der Antidepressiva wurde angepasst, um auf aktuelle Stimmungsschwankungen des Patienten zu reagieren. Eine engmaschige Betreuung wird sicherstellen, dass die Anpassung gut vertragen wird."}
{"category": "Laborabnahme", "description": "Blutuntersuchung zur Überprüfung der Schilddrüsenhormone.", "result": "Die Blutuntersuchung zur Überprüfung der Schilddrüsenhormone wurde durchgeführt. Die Ergebnisse werden genutzt, um die Schilddrüsenfunktion zu bewerten und die Behandlung anzupassen."}
{"category": "Untersuchungen", "description": "Durchführung einer Spirometrie zur Beurteilung der Lungenfunktion.", "result": "Die Spirometrie lieferte detaillierte Informationen zur Beurteilung der Lungenfunktion. Die Ergebnisse werden mit einem Lungenfacharzt besprochen."}
{"category": "Entlassung", "description": "Der Patient wird nach erfolgreicher Physiotherapie aus der orthopädischen Abteilung entlassen.", "result": "Der Patient hat die physiotherapeutischen Maßnahmen erfolgreich abgeschlossen und wird in einem verbesserten Zustand entlassen. Übungen für die Heimtherapie wurden erläutert."}
{"category": "Sonstiges", "description": "Empfehlung für eine Schlafstudie aufgrund von Schlafstörungen.", "result": "Aufgrund von Schlafstörungen wird dem Patienten eine Schlafstudie empfohlen. Die Ergebnisse werden mit einem Schlafspezialisten besprochen, um die Ursache der Schlafprobleme zu klären."}
{"category": "Medikationsumstellung", "description": "Die Dosierung eines Medikaments wurde angepasst, um Nebenwirkungen zu minimieren.", "result": "Die Medikationsanpassung wurde vorgenommen, und der Patient wird auf mögliche Reaktionen überwacht. Bisher gibt es keine ungewöhnlichen Symptome."}
{"category": "Klinische Visite", "description": "Der Patient wurde aufgrund von Fieber und Husten klinisch untersucht.", "result": "Die klinische Visite ergab erhöhte Körpertemperatur und Atemprobleme. Es wurde eine geeignete Behandlung eingeleitet, und der Patient wird intensiv betreut."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutprobe entnommen, um den Hämoglobinspiegel zu überprüfen.", "result": "Die Blutabnahme wurde erfolgreich durchgeführt, und die Ergebnisse werden in Kürze erwartet. Dies dient der Überwachung der Hämoglobinkonzentration im Blut."}
{"category": "Untersuchungen", "description": "Es ist eine Ultraschalluntersuchung des Bauchraums notwendig.", "result": "Die Ultraschalluntersuchung lieferte detaillierte Bilder des Bauchraums. Es wurden keine pathologischen Veränderungen festgestellt. Die Ergebnisse werden mit dem behandelnden Arzt besprochen."}
{"category": "Sonstiges", "description": "Der Patient berichtet über Schlafstörungen und Unruhezustände.", "result": "Weitere Anamnese und Untersuchungen sind erforderlich, um die genaue Ursache der Schlafstörungen zu ermitteln. Ein Schlafprotokoll wird angelegt, um weitere Informationen zu sammeln."}
{"category": "Entlassung", "description": "Nach erfolgreicher Therapie wurde der Patient aus der stationären Behandlung entlassen.", "result": "Die Therapie war erfolgreich, und der Patient befindet sich in einem guten Zustand. Er wurde über die Fortsetzung der Behandlung zu Hause informiert."}
{"category": "Klinische Visite", "description": "Routinekontrolle zur Überwachung des Gesundheitszustands des Patienten.", "result": "Die klinische Visite zeigte keine Auffälligkeiten. Der Patient ist in stabilem Zustand, und die nächsten Kontrolltermine werden vereinbart."}
{"category": "Medikationsumstellung", "description": "Umstellung der Schmerzmedikation aufgrund unzureichender Wirkung.", "result": "Die neue Schmerzmedikation wurde eingeführt. Der Patient wird auf mögliche Nebenwirkungen überwacht, und die Wirksamkeit wird regelmäßig evaluiert."}
{"category": "Laborabnahme", "description": "Routine-Blutuntersuchung zur Überprüfung der allgemeinen Gesundheit.", "result": "Die Blutprobe wurde entnommen und zur Untersuchung ins Labor geschickt. Die Ergebnisse werden genutzt, um den Gesundheitszustand des Patienten zu bewerten."}
{"category": "Untersuchungen", "description": "Es wurde eine Röntgenaufnahme der Lunge durchgeführt.", "result": "Die Röntgenuntersuchung ergab keine Anzeichen von Auffälligkeiten oder Infektionen. Die Lungenfunktion des Patienten scheint normal zu sein."}
{"category": "Sonstiges", "description": "Der Patient beklagt sich über Magenbeschwerden und Verdauungsprobleme.", "result": "Es wurden weitere Untersuchungen eingeleitet, darunter eine gastrointestinale Untersuchung, um die Ursache der Magenbeschwerden zu klären. Der Patient wird entsprechend behandelt."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung der vitalen Parameter wurde der Patient in einem stabilen Zustand entlassen. Er erhielt Anweisungen zur weiteren Nachsorge."}
{"category": "Klinische Visite", "description": "Der Patient berichtet über Kopfschmerzen und Schwindel.", "result": "Bei der klinischen Visite wurden neurologische Tests durchgeführt. Es wurden keine schwerwiegenden Auffälligkeiten festgestellt. Der Patient wird weiterhin überwacht, um mögliche Ursachen zu identifizieren."}
{"category": "Medikationsumstellung", "description": "Aufgrund von Nebenwirkungen wurde die Medikation angepasst.", "result": "Die Medikationsumstellung wurde vorgenommen, um unerwünschte Nebenwirkungen zu minimieren. Der Patient wird auf Veränderungen in seinem Gesundheitszustand überwacht."}
{"category": "Laborabnahme", "description": "Es wurde Blut abgenommen, um den Cholesterinspiegel zu überprüfen.", "result": "Die Blutprobe wurde entnommen, und die Laborergebnisse deuten auf einen erhöhten Cholesterinspiegel hin. Eine Ernährungsberatung wird eingeleitet."}
{"category": "Untersuchungen", "description": "Der Patient hat Beschwerden im Bewegungsapparat; eine orthopädische Untersuchung ist notwendig.", "result": "Die orthopädische Untersuchung zeigte leichte Abnutzungserscheinungen. Der Patient wird physiotherapeutisch behandelt, um die Beschwerden zu lindern."}
{"category": "Sonstiges", "description": "Der Patient benötigt eine spezialisierte Konsultation aufgrund von unklaren Symptomen.", "result": "Eine spezialisierte Konsultation wurde eingeleitet, um die unklaren Symptome des Patienten genauer zu untersuchen. Weitere Untersuchungen werden in Absprache mit den Fachärzten durchgeführt."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Therapie und Stabilisierung entlassen.", "result": "Die Therapie war erfolgreich, und der Patient zeigt eine verbesserte Stabilität. Er wurde umfassend über die Maßnahmen zur weiteren Genesung informiert."}
{"category": "Klinische Visite", "description": "Routinemäßige Überprüfung der Vitalparameter und allgemeinen Gesundheit.", "result": "Die klinische Visite ergab keine besorgniserregenden Veränderungen. Der Patient befindet sich in gutem Zustand, und die medizinische Betreuung wird entsprechend angepasst."}
{"category": "Medikationsumstellung", "description": "Es wurde eine Anpassung der Medikation aufgrund von Unverträglichkeiten vorgenommen.", "result": "Die Medikationsanpassung wurde durchgeführt, um unerwünschte Reaktionen zu vermeiden. Der Patient wird über mögliche alternative Medikamente aufgeklärt."}
{"category": "Laborabnahme", "description": "Routine-Blutuntersuchung zur Überprüfung der Leberfunktion.", "result": "Die Blutprobe wurde entnommen, und die Laborergebnisse deuten auf eine normale Leberfunktion hin. Der Patient wird über gesunde Lebensgewohnheiten beraten."}
{"category": "Untersuchungen", "description": "Es wurde eine MRT-Untersuchung des Kopfes durchgeführt.", "result": "Die MRT-Untersuchung zeigte keine strukturellen Veränderungen im Gehirn. Der Patient wird weiterhin neurologisch betreut, um mögliche Ursachen für seine Symptome zu klären."}
{"category": "Sonstiges", "description": "Der Patient berichtet über Hautausschläge und Juckreiz.", "result": "Eine dermatologische Untersuchung wurde eingeleitet, um die Ursache der Hautprobleme zu klären. Die notwendigen Maßnahmen zur Behandlung werden ergriffen."}
{"category": "Entlassung", "description": "Nach erfolgreicher Therapie und Stabilisierung wurde der Patient entlassen.", "result": "Der Patient zeigt eine deutliche Besserung. Nach Abschluss der Therapie wurde er in einem stabilen Zustand entlassen und erhält Anweisungen zur Nachsorge."}
{"category": "Klinische Visite", "description": "Der Patient kommt zur Nachsorgeuntersuchung nach einer vorangegangenen Operation.", "result": "Die klinische Visite ergab keine postoperativen Komplikationen. Die Wundheilung verläuft zufriedenstellend, und der Patient wird für die weitere Rehabilitation empfohlen."}
{"category": "Medikationsumstellung", "description": "Aufgrund von Nebenwirkungen wurde die Medikation angepasst.", "result": "Die Medikationsumstellung erfolgte, um Nebenwirkungen zu minimieren. Der Patient wird auf Veränderungen in seinem Gesundheitszustand überwacht."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutprobe entnommen, um den Vitamin-D-Spiegel zu überprüfen.", "result": "Die Blutabnahme wurde erfolgreich durchgeführt, und die Laborergebnisse weisen auf einen niedrigen Vitamin-D-Spiegel hin. Eine Supplementierung wird empfohlen."}
{"category": "Untersuchungen", "description": "Es wurde eine Endoskopie des Magen-Darm-Trakts durchgeführt.", "result": "Die Endoskopie lieferte klare Bilder des Magen-Darm-Trakts. Es wurden keine pathologischen Veränderungen festgestellt. Der Patient wird über die Ergebnisse informiert."}
{"category": "Sonstiges", "description": "Der Patient hat Schlafprobleme und wird zur weiteren Abklärung überwiesen.", "result": "Weitere diagnostische Maßnahmen, einschließlich eines Schlaflabors, wurden empfohlen, um die Ursachen der Schlafprobleme zu identifizieren. Der Patient wird zur weiteren Abklärung überwiesen."}
{"category": "Entlassung", "description": "Der Patient wurde nach Abschluss der Behandlung erfolgreich entlassen.", "result": "Nach erfolgreicher Behandlung und Überprüfung der vitalen Parameter wurde der Patient entlassen. Er erhielt klare Anweisungen für die Nachsorge und mögliche Kontrolltermine."}
{"category": "Klinische Visite", "description": "Routinemäßige Überprüfung des Gesundheitszustands und der vitalen Parameter.", "result": "Die klinische Visite zeigte keine signifikanten Veränderungen. Der Patient befindet sich in gutem Zustand, und die medizinische Betreuung wird entsprechend angepasst."}
{"category": "Medikationsumstellung", "description": "Die Dosierung eines blutdrucksenkenden Medikaments wurde angepasst.", "result": "Die Dosieranpassung wurde vorgenommen, um den Blutdruck optimal zu regulieren. Der Patient wird regelmäßig überwacht, um die Wirksamkeit der Therapie zu überprüfen."}
{"category": "Laborabnahme", "description": "Routine-Blutuntersuchung zur Überprüfung der Schilddrüsenfunktion.", "result": "Die Blutprobe wurde entnommen, und die Laborergebnisse deuten auf eine normale Schilddrüsenfunktion hin. Der Patient wird über die Bedeutung regelmäßiger Kontrollen informiert."}
{"category": "Untersuchungen", "description": "Es wurde eine Spirometrie zur Überprüfung der Lungenfunktion durchgeführt.", "result": "Die Spirometrie lieferte normale Werte der Lungenfunktion. Es gibt keine Anzeichen von Atemwegsproblemen. Der Patient wird weiterhin pneumologisch betreut."}
{"category": "Sonstiges", "description": "Der Patient klagt über Sehstörungen, eine augenärztliche Untersuchung ist notwendig.", "result": "Die augenärztliche Untersuchung ergab leichte Sehstörungen, die wahrscheinlich auf eine refraktive Anpassung zurückzuführen sind. Eine Brille wird empfohlen, und der Patient wird entsprechend beraten."}
{"category": "Entlassung", "description": "Nach erfolgreicher Therapie und Stabilisierung wurde der Patient entlassen.", "result": "Der Patient zeigt eine deutliche Verbesserung. Nach Abschluss der Therapie wurde er in einem stabilen Zustand entlassen und erhält Anweisungen zur weiteren Nachsorge."}
{"category": "Klinische Visite", "description": "Der Patient wurde zur Überwachung der postoperativen Wundheilung klinisch untersucht.", "result": "Die postoperative Untersuchung ergab eine zufriedenstellende Wundheilung. Der Patient wird für die weitere Rehabilitation und Nachsorge empfohlen."}
{"category": "Klinische Visite", "description": "Der Patient wurde heute für die regelmäßige klinische Visite vorgestellt.", "result": "Während der Visite wurden die vitalen Parameter überprüft, und es wurden keine auffälligen Veränderungen festgestellt. Der Patient berichtet über eine stabile gesundheitliche Verfassung."}
{"category": "Laborabnahme", "description": "Es ist eine umfassende Blutuntersuchung erforderlich, um spezifische Laborwerte zu überprüfen.", "result": "Die Blutentnahme wurde durchgeführt, und die Proben wurden zur Analyse ins Labor geschickt. Die Ergebnisse werden zeitnah erwartet."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um mögliche Nebenwirkungen zu minimieren.", "result": "Die Anpassung der Medikation erfolgte entsprechend den aktuellen Gesundheitsparametern des Patienten. Die Reaktion wird aufmerksam überwacht, und weitere Anpassungen können bei Bedarf vorgenommen werden."}
{"category": "Untersuchungen", "description": "Es ist eine Ultraschalluntersuchung des Bauchraums geplant.", "result": "Die Ultraschalluntersuchung wurde erfolgreich durchgeführt, um den Bauchraum zu überprüfen. Es wurden keine pathologischen Befunde festgestellt."}
{"category": "Sonstiges", "description": "Zusätzliche Informationen werden benötigt, um eine genaue Diagnose zu stellen.", "result": "Der Patient wird zu weiteren Untersuchungen überwiesen, um zusätzliche Informationen zu sammeln und eine umfassende Diagnose zu erstellen."}
{"category": "Klinische Visite", "description": "Der Patient zeigt leichte Symptome, daher wurde eine zusätzliche klinische Visite anberaumt.", "result": "Während der klinischen Visite wurden die aktuellen Symptome des Patienten besprochen. Es wurden vorläufige Maßnahmen ergriffen, und der Patient wird weiterhin engmaschig überwacht."}
{"category": "Entlassung", "description": "Der Patient hat die stationäre Behandlung erfolgreich abgeschlossen und wird entlassen.", "result": "Nach einer positiven Beurteilung des Gesundheitszustands und einer abschließenden ärztlichen Überprüfung wird der Patient in gutem Zustand entlassen. Er erhält klare Anweisungen für die Nachsorge."}
{"category": "Laborabnahme", "description": "Blutproben wurden genommen, um die Wirksamkeit der laufenden Therapie zu überprüfen.", "result": "Die Blutproben wurden entnommen und zur Überprüfung der Therapieeffektivität analysiert. Die vorläufigen Ergebnisse deuten auf eine positive Entwicklung hin."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde aufgrund von Unverträglichkeiten angepasst.", "result": "Aufgrund von Unverträglichkeiten wurde die Medikation angepasst. Der Patient wird auf mögliche Verbesserungen überwacht, und gegebenenfalls werden weitere Anpassungen vorgenommen."}
{"category": "Untersuchungen", "description": "Es sind weiterführende bildgebende Untersuchungen zur Klärung von Symptomen geplant.", "result": "Aufgrund unklarer Symptome werden zusätzliche bildgebende Untersuchungen durchgeführt. Die Ergebnisse werden mit dem Patienten besprochen, um eine geeignete Behandlungsstrategie zu planen."}
{"category": "Klinische Visite", "description": "Der Patient berichtet über eine Verschlechterung der Symptome, daher wurde eine dringende klinische Visite angeordnet.", "result": "Während der Visite wurden die aktuellen Symptome bewertet. Sofortmaßnahmen wurden ergriffen, und der Patient wird intensiver überwacht, um weitere Komplikationen zu verhindern."}
{"category": "Sonstiges", "description": "Es sind psychologische Beratungsgespräche zur Unterstützung des Patienten geplant.", "result": "Zur Unterstützung des Patienten werden psychologische Beratungsgespräche geplant. Der Fokus liegt darauf, die psychische Gesundheit zu stabilisieren und das Wohlbefinden zu fördern."}
{"category": "Laborabnahme", "description": "Spezifische Blutwerte müssen für die Anpassung der Behandlung überprüft werden.", "result": "Die Blutabnahme erfolgte, um spezifische Werte für die Anpassung der laufenden Behandlung zu erhalten. Die Ergebnisse werden zur weiteren Therapieplanung genutzt."}
{"category": "Medikationsumstellung", "description": "Aufgrund von Nebenwirkungen wurde eine Umstellung der Medikation empfohlen.", "result": "Die Medikationsumstellung wurde durchgeführt, um mögliche Nebenwirkungen zu minimieren. Der Patient wird auf Veränderungen in seinem Befinden überwacht."}
{"category": "Klinische Visite", "description": "Die regelmäßige klinische Visite zeigt weiterhin stabile Gesundheitswerte des Patienten.", "result": "Die klinische Visite bestätigt, dass der Patient in einem stabilen Gesundheitszustand ist. Es wurden keine neuen Symptome oder Probleme festgestellt."}
{"category": "Untersuchungen", "description": "Es sind genetische Untersuchungen zur Klärung von erblichen Faktoren geplant.", "result": "Genetische Untersuchungen wurden eingeleitet, um mögliche erbliche Faktoren zu identifizieren. Die Ergebnisse werden mit dem Patienten und gegebenenfalls mit einem Genetiker besprochen."}
{"category": "Entlassung", "description": "Der Patient wurde nach erfolgreicher Behandlung aus der stationären Aufnahme entlassen.", "result": "Nach Abschluss der erfolgreichen Therapie und Überprüfung der vitalen Parameter wurde der Patient in einem stabilen Zustand entlassen. Er erhält klare Anweisungen für die Nachsorge."}
{"category": "Sonstiges", "description": "Es sind weiterführende Beratungsgespräche mit dem Patienten geplant.", "result": "Zur umfassenden Betreuung des Patienten sind weiterführende Beratungsgespräche geplant. Der Fokus liegt auf der Erklärung der aktuellen Situation und der Unterstützung des Patienten."}
{"category": "Klinische Visite", "description": "Der Patient zeigt eine Verbesserung der Symptome, daher wird die klinische Visite in regelmäßigen Abständen fortgesetzt.", "result": "Die regelmäßige klinische Visite bestätigt eine kontinuierliche Verbesserung der Symptome. Die Behandlung wird entsprechend angepasst, um den Heilungsprozess zu fördern."}
{"category": "Laborabnahme", "description": "Es wurden Blutproben entnommen, um die Auswirkungen der neuen Medikation zu überprüfen.", "result": "Die Blutproben wurden entnommen, um die Auswirkungen der kürzlich durchgeführten Medikationsumstellung zu überprüfen. Die vorläufigen Ergebnisse deuten auf eine positive Verträglichkeit hin."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um auf aktuelle Laborergebnisse zu reagieren.", "result": "Aufgrund neuer Laborergebnisse wurde die Medikation angepasst, um auf spezifische Gesundheitsparameter zu reagieren. Der Patient wird auf mögliche Veränderungen in seinem Befinden überwacht."}
{"category": "Klinische Visite", "description": "Der Patient berichtet über eine Verschlechterung der Schlafqualität, daher wurde eine klinische Visite angeordnet.", "result": "Während der klinischen Visite wurden Schlafmuster und mögliche Ursachen für die Schlafprobleme besprochen. Empfehlungen zur Verbesserung der Schlafqualität wurden gegeben."}
{"category": "Untersuchungen", "description": "Es sind weiterführende neurologische Untersuchungen zur Klärung von Symptomen geplant.", "result": "Neurologische Untersuchungen wurden eingeleitet, um die Ursachen bestimmter Symptome zu klären. Die Ergebnisse werden mit dem Neurologen besprochen, um eine geeignete Behandlungsstrategie zu entwickeln."}
{"category": "Entlassung", "description": "Der Patient hat die stationäre Behandlung erfolgreich abgeschlossen und wird entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung der vitalen Parameter wird der Patient in einem stabilen Zustand entlassen. Er erhält klare Anweisungen für die Nachsorge."}
{"category": "Sonstiges", "description": "Es sind ergänzende physiotherapeutische Maßnahmen zur Unterstützung der Rehabilitation geplant.", "result": "Zur Förderung der Rehabilitation werden ergänzende physiotherapeutische Maßnahmen geplant. Der Fokus liegt auf der Wiederherstellung der körperlichen Funktionen und der Steigerung der Lebensqualität."}
{"category": "Laborabnahme", "description": "Es wurden Blutproben entnommen, um die Wirksamkeit der laufenden Therapie zu überprüfen.", "result": "Die Blutproben wurden entnommen und zur Überprüfung der Therapieeffektivität analysiert. Die vorläufigen Ergebnisse zeigen eine positive Entwicklung."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um auf aktuelle Laborergebnisse zu reagieren.", "result": "Aufgrund neuer Laborergebnisse wurde die Medikation angepasst, um auf spezifische Gesundheitsparameter zu reagieren. Der Patient wird auf mögliche Veränderungen in seinem Befinden überwacht."}
{"category": "Klinische Visite", "description": "Der Patient berichtet über anhaltende Beschwerden, daher wurde eine dringende klinische Visite angeordnet.", "result": "Während der klinischen Visite wurden die aktuellen Beschwerden des Patienten bewertet. Sofortmaßnahmen wurden ergriffen, und der Patient wird intensiver überwacht, um weitere Komplikationen zu verhindern."}
{"category": "Untersuchungen", "description": "Es sind weiterführende bildgebende Untersuchungen zur Klärung von Symptomen geplant.", "result": "Aufgrund unklarer Symptome werden zusätzliche bildgebende Untersuchungen durchgeführt. Die Ergebnisse werden mit dem Patienten besprochen, um eine geeignete Behandlungsstrategie zu planen."}
{"category": "Entlassung", "description": "Der Patient wurde erfolgreich aus der stationären Behandlung entlassen.", "result": "Nach Abschluss der Therapie und Überprüfung der vitalen Parameter wurde der Patient in einem stabilen Zustand entlassen. Er erhält klare Anweisungen für die Nachsorge."}
{"category": "Sonstiges", "description": "Es sind zusätzliche Maßnahmen erforderlich, um die Ursache der Beschwerden zu klären.", "result": "Es wurden weitere diagnostische Maßnahmen eingeleitet, um die genaue Ursache der Beschwerden zu identifizieren. Der Patient wird über die geplanten Untersuchungen informiert."}
{"category": "Klinische Visite", "description": "Der Patient wurde heute für die regelmäßige klinische Visite vorgestellt.", "result": "Während der Visite wurden die vitalen Parameter überprüft, und es wurden keine auffälligen Veränderungen festgestellt. Der Patient berichtet über eine stabile gesundheitliche Verfassung."}
{"category": "Laborabnahme", "description": "Es ist eine umfassende Blutuntersuchung erforderlich, um spezifische Laborwerte zu überprüfen.", "result": "Die Blutentnahme wurde durchgeführt, und die Proben wurden zur Analyse ins Labor geschickt. Die Ergebnisse werden zeitnah erwartet."}
{"category": "Medikationsumstellung", "description": "Die Medikation wurde angepasst, um mögliche Nebenwirkungen zu minimieren.", "result": "Die Anpassung der Medikation erfolgte entsprechend den aktuellen Gesundheitsparametern des Patienten. Die Reaktion wird aufmerksam überwacht, und weitere Anpassungen können bei Bedarf vorgenommen werden."}
{"category": "Untersuchungen", "description": "Es ist eine Ultraschalluntersuchung des Bauchraums geplant.", "result": "Die Ultraschalluntersuchung wurde erfolgreich durchgeführt, um den Bauchraum zu überprüfen. Es wurden keine pathologischen Befunde festgestellt."}
{"category": "Medikationsumstellung", "description": "Es wurde eine Anpassung der Medikation vorgenommen, um die Therapieeffizienz zu steigern.", "result": "Die Medikationsanpassung wurde erfolgreich umgesetzt. Der Patient wird auf mögliche Nebenwirkungen überwacht, und entsprechende Maßnahmen werden ergriffen, um eventuelle Komplikationen zu verhindern."}
{"category": "Klinische Visite", "description": "Der Patient wurde aufgrund akuter Beschwerden klinisch untersucht.", "result": "Bei der klinischen Visite wurden spezifische Symptome des Patienten eingehend untersucht. Der Arzt hat eine vorläufige Diagnose gestellt und weitere diagnostische Maßnahmen veranlasst."}
{"category": "Laborabnahme", "description": "Es wurde eine Blutuntersuchung angeordnet, um spezifische Laborwerte zu überprüfen.", "result": "Die Blutabnahme wurde durchgeführt, und die Proben werden für verschiedene Laboranalysen vorbereitet. Die Ergebnisse werden dem Patienten in Kürze mitgeteilt."}

View file

@ -1,7 +1,5 @@
import { PrismaClient } from "@prisma/client";
import { CATEGORIES } from "./testdata";
const prisma = new PrismaClient();
import { prisma } from "$lib/server/prisma";
import { CATEGORIES, STATIONS } from "./testdata";
export default async () => {
await prisma.$transaction([
@ -21,33 +19,32 @@ export default async () => {
],
}),
prisma.category.createMany({ data: CATEGORIES }),
prisma.station.createMany({
data: [
{ id: 1, name: "S1" },
{ id: 2, name: "S2" },
],
}),
prisma.station.createMany({ data: STATIONS }),
prisma.room.createMany({
data: [
{ id: 1, name: "R1.1", stationId: 1 },
{ id: 2, name: "R1.2", stationId: 1 },
{ id: 3, name: "R2.1", stationId: 2 },
{ id: 1, name: "R1.1", station_id: 1 },
{ id: 2, name: "R1.2", station_id: 1 },
{ id: 3, name: "R2.1", station_id: 2 },
],
}),
prisma.patient.createMany({
data: [
{ id: 1, firstName: "Andreas", lastName: "Bergmann", age: 22, roomId: 1 },
{ id: 2, firstName: "Manuela", lastName: "Kortig", age: 41, roomId: 2 },
{ id: 3, firstName: "Markus", lastName: "Schuster", age: 50, roomId: 3 },
{ id: 1, first_name: "Andreas", last_name: "Bergmann", age: 22, room_id: 1 },
{ id: 2, first_name: "Manuela", last_name: "Kortig", age: 41, room_id: 2 },
{ id: 3, first_name: "Markus", last_name: "Schuster", age: 50, room_id: 3 },
],
}),
prisma.$executeRaw`alter sequence users_id_seq restart with 3`,
prisma.$executeRaw`alter sequence categories_id_seq restart with 7`,
prisma.$executeRaw`alter sequence stations_id_seq restart with 3`,
prisma.$executeRaw`alter sequence rooms_id_seq restart with 4`,
prisma.$executeRaw`alter sequence patients_id_seq restart with 4`,
prisma.$executeRaw`alter sequence entry_execution_id_seq restart with 1`,
prisma.$executeRaw`alter sequence entry_versions_id_seq restart with 1`,
prisma.$executeRaw`alter sequence entries_id_seq restart with 1`,
prisma.$executeRawUnsafe(
`alter sequence categories_id_seq restart with ${CATEGORIES.length + 1}`
),
prisma.$executeRawUnsafe(
`alter sequence stations_id_seq restart with ${STATIONS.length + 1}`
),
prisma.$executeRawUnsafe(`alter sequence rooms_id_seq restart with 4`),
prisma.$executeRawUnsafe(`alter sequence patients_id_seq restart with 4`),
prisma.$executeRawUnsafe(`alter sequence entry_executions_id_seq restart with 1`),
prisma.$executeRawUnsafe(`alter sequence entry_versions_id_seq restart with 1`),
prisma.$executeRawUnsafe(`alter sequence entries_id_seq restart with 1`),
]);
};

View file

@ -3,6 +3,8 @@ import type { Category, Station } from "$lib/shared/model";
export const S1: Station = { id: 1, name: "S1" };
export const S2: Station = { id: 2, name: "S2" };
export const STATIONS: Station[] = [S1, S2];
export const CATEGORIES: Category[] = [
{
id: 1,

View file

@ -5,10 +5,11 @@ import {
newEntryExecution,
newEntryVersion,
} from "$lib/server/query";
import { ErrorConflict } from "$lib/shared/util/error";
import { expect, test } from "vitest";
const TEST_VERSION = {
categoryId: 1,
category_id: 1,
text: "10ml Blut abnehmen",
date: new Date(2024, 1, 1),
priority: false,
@ -16,7 +17,7 @@ const TEST_VERSION = {
test("create entry", async () => {
const eId = await newEntry(1, {
patientId: 1,
patient_id: 1,
version: TEST_VERSION,
});
expect(eId).gt(0);
@ -24,72 +25,140 @@ test("create entry", async () => {
const entry = await getEntry(eId);
expect(entry.patient.id).toBe(1);
expect(entry.execution).toBeNull();
expect(entry.currentVersion.id).gt(0);
expect(entry.currentVersion.category?.id).toBe(TEST_VERSION.categoryId);
expect(entry.currentVersion.category?.name).toBe("Laborabnahme");
expect(entry.currentVersion.text).toBe(TEST_VERSION.text);
expect(entry.currentVersion.date).toStrictEqual(TEST_VERSION.date);
expect(entry.currentVersion.priority).toBe(TEST_VERSION.priority);
expect(entry.current_version.id).gt(0);
expect(entry.current_version.category?.id).toBe(TEST_VERSION.category_id);
expect(entry.current_version.category?.name).toBe("Laborabnahme");
expect(entry.current_version.text).toBe(TEST_VERSION.text);
expect(entry.current_version.date).toStrictEqual(TEST_VERSION.date);
expect(entry.current_version.priority).toBe(TEST_VERSION.priority);
});
test("create extry version", async () => {
test("create entry version", async () => {
const eId = await newEntry(1, {
patientId: 1,
patient_id: 1,
version: TEST_VERSION,
});
const text = "10ml Blut abnehmen\n\nPS: Nadel nicht vergessen";
const date = new Date(2024, 1, 2);
await newEntryVersion(1, eId, {
...TEST_VERSION,
date,
text,
category_id: 2,
priority: true,
});
const entry = await getEntry(eId);
expect(entry.current_version).toMatchObject({
author: { id: 1 },
date,
text,
category: { id: 2 },
priority: true,
});
});
test("create entry version (partial)", async () => {
const eId = await newEntry(1, {
patient_id: 1,
version: TEST_VERSION,
});
const oldEntry = await getEntry(eId);
const text = "10ml Blut abnehmen\n\nPS: Nadel nicht vergessen";
await newEntryVersion(2, eId, {
old_version: oldEntry.current_version.id,
text,
});
const entry = await getEntry(eId);
expect(entry.currentVersion.text).toBe(text);
expect(entry.current_version).toMatchObject({
author: { id: 2 },
date: oldEntry.current_version.date,
text,
category: oldEntry.current_version.category,
priority: oldEntry.current_version.priority,
});
});
test("create extry execution", async () => {
test("create entry version (wrong old vid)", async () => {
const eId = await newEntry(1, {
patientId: 1,
patient_id: 1,
version: TEST_VERSION,
});
});
test("create entry execution", async () => {
const eId = await newEntry(1, {
patient_id: 1,
version: TEST_VERSION,
});
const text = "Blutabnahme erledigt.";
await newEntryExecution(1, eId, { text });
const xId = await newEntryExecution(1, eId, { old_execution: null, text });
const entry = await getEntry(eId);
expect(entry.execution?.id).toBe(xId);
expect(entry.execution?.author.id).toBe(1);
expect(entry.execution?.text).toBe(text);
});
test("create entry execution (update)", async () => {
const eId = await newEntry(1, {
patient_id: 1,
version: TEST_VERSION,
});
const x1 = await newEntryExecution(1, eId, { old_execution: null, text: "x1" });
const x2 = await newEntryExecution(2, eId, { old_execution: x1, text: "x2" });
const entry = await getEntry(eId);
expect(entry.execution?.id).toBe(x2);
expect(entry.execution?.text).toBe("x2");
expect(entry.execution?.author.id).toBe(2);
});
test("create entry execution (wrong old xid)", async () => {
const eId = await newEntry(1, {
patient_id: 1,
version: TEST_VERSION,
});
const x1 = await newEntryExecution(1, eId, { old_execution: null, text: "x1" });
expect(async () =>
newEntryExecution(1, eId, { old_execution: x1 + 1, text: "x2" })
).rejects.toThrowError(new ErrorConflict("old execution id does not match"));
});
async function insertTestEntries() {
// Create some entries
const eId1 = await newEntry(1, {
patientId: 1,
patient_id: 1,
version: TEST_VERSION,
});
const eId2 = await newEntry(1, {
patientId: 2,
patient_id: 2,
version: {
text: "Carrot cake jelly-o bonbon toffee chocolate.",
date: new Date(2024, 1, 5),
priority: false,
categoryId: null,
category_id: null,
},
});
const eId3 = await newEntry(1, {
patientId: 1,
patient_id: 1,
version: {
text: "Cheesecake danish donut oat cake caramels.",
date: new Date(2024, 1, 6),
priority: false,
categoryId: null,
category_id: null,
},
});
// Update an entry
await newEntryVersion(2, eId1, {
categoryId: 3,
text: "Hello World",
category_id: 3,
text: TEST_VERSION.text + "\n\n> Hello World",
date: new Date(2024, 1, 1),
priority: true,
});
@ -159,4 +228,10 @@ test("get entries", async () => {
expect(entriesPrio.items).length(1);
expect(entriesPrio.total).toBe(1);
expect(entriesPrio.items[0].id).toBe(eId1);
// Search
const entriesSearch = await getEntries({ filter: { search: "Blu" } });
expect(entriesSearch.items).length(1);
expect(entriesSearch.total).toBe(1);
expect(entriesSearch.items[0].id).toBe(eId1);
});

View file

@ -5,16 +5,16 @@ import { S1, S2 } from "../../helpers/testdata";
test("create patient", async () => {
const pId = await newPatient({
firstName: "Max",
lastName: "Müller",
first_name: "Max",
last_name: "Müller",
age: 31,
roomId: 1,
room_id: 1,
});
const patient = await getPatient(pId);
expect(patient).toMatchObject({
id: pId,
firstName: "Max",
lastName: "Müller",
first_name: "Max",
last_name: "Müller",
age: 31,
room: { id: 1, name: "R1.1", station: S1 },
});
@ -26,22 +26,22 @@ test("get patients", async () => {
items: [
{
id: 1,
firstName: "Andreas",
lastName: "Bergmann",
first_name: "Andreas",
last_name: "Bergmann",
age: 22,
room: { id: 1, name: "R1.1", station: S1 },
},
{
id: 2,
firstName: "Manuela",
lastName: "Kortig",
first_name: "Manuela",
last_name: "Kortig",
age: 41,
room: { id: 2, name: "R1.2", station: S1 },
},
{
id: 3,
firstName: "Markus",
lastName: "Schuster",
first_name: "Markus",
last_name: "Schuster",
age: 50,
room: { id: 3, name: "R2.1", station: S2 },
},

View file

@ -23,7 +23,7 @@ test("get stations", async () => {
});
test("create room", async () => {
const rId = await newRoom({ name: "A1", stationId: 1 });
const rId = await newRoom({ name: "A1", station_id: 1 });
const room = await getRoom(rId);
expect(room).toStrictEqual({
id: rId,