diff --git a/package.json b/package.json index c6f2d5f..641e9ba 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "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", @@ -48,7 +47,6 @@ "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" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fecf993..3caa6c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,9 +22,6 @@ 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 @@ -94,9 +91,6 @@ 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 @@ -402,11 +396,6 @@ 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'} @@ -1661,12 +1650,6 @@ 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'} @@ -2457,10 +2440,6 @@ 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 @@ -2867,17 +2846,6 @@ 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'} diff --git a/prisma/migrations/20240113185049_init/migration.sql b/prisma/migrations/20240106164115_init/migration.sql similarity index 58% rename from prisma/migrations/20240113185049_init/migration.sql rename to prisma/migrations/20240106164115_init/migration.sql index bc77201..1f198ba 100644 --- a/prisma/migrations/20240113185049_init/migration.sql +++ b/prisma/migrations/20240106164115_init/migration.sql @@ -21,6 +21,7 @@ CREATE TABLE "users" ( "id" SERIAL NOT NULL, "name" TEXT, "email" TEXT, + "emailVerified" TIMESTAMP(3), CONSTRAINT "users_pkey" PRIMARY KEY ("id") ); @@ -37,7 +38,7 @@ CREATE TABLE "stations" ( CREATE TABLE "rooms" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, - "station_id" INTEGER NOT NULL, + "stationId" INTEGER NOT NULL, CONSTRAINT "rooms_pkey" PRIMARY KEY ("id") ); @@ -45,11 +46,11 @@ CREATE TABLE "rooms" ( -- CreateTable CREATE TABLE "patients" ( "id" SERIAL NOT NULL, - "first_name" TEXT NOT NULL, - "last_name" TEXT NOT NULL, + "firstName" TEXT NOT NULL, + "lastName" TEXT NOT NULL, "age" INTEGER, - "room_id" INTEGER, - "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "roomId" INTEGER, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "patients_pkey" PRIMARY KEY ("id") ); @@ -67,8 +68,8 @@ CREATE TABLE "categories" ( -- CreateTable CREATE TABLE "entries" ( "id" SERIAL NOT NULL, - "patient_id" INTEGER NOT NULL, - "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "patientId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "entries_pkey" PRIMARY KEY ("id") ); @@ -76,26 +77,26 @@ CREATE TABLE "entries" ( -- CreateTable CREATE TABLE "entry_versions" ( "id" SERIAL NOT NULL, - "entry_id" INTEGER NOT NULL, + "entryId" INTEGER NOT NULL, "text" TEXT NOT NULL, "date" TIMESTAMP(3) NOT NULL, - "category_id" INTEGER, + "categoryId" INTEGER, "priority" BOOLEAN NOT NULL, - "author_id" INTEGER NOT NULL, - "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "authorId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "entry_versions_pkey" PRIMARY KEY ("id") ); -- CreateTable -CREATE TABLE "entry_executions" ( +CREATE TABLE "entry_execution" ( "id" SERIAL NOT NULL, - "entry_id" INTEGER NOT NULL, + "entryId" INTEGER NOT NULL, "text" TEXT NOT NULL, - "author_id" INTEGER NOT NULL, - "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "authorId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "entry_executions_pkey" PRIMARY KEY ("id") + CONSTRAINT "entry_execution_pkey" PRIMARY KEY ("id") ); -- CreateIndex @@ -108,25 +109,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_station_id_fkey" FOREIGN KEY ("station_id") REFERENCES "stations"("id") ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE "rooms" ADD CONSTRAINT "rooms_stationId_fkey" FOREIGN KEY ("stationId") REFERENCES "stations"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "patients" ADD CONSTRAINT "patients_room_id_fkey" FOREIGN KEY ("room_id") REFERENCES "rooms"("id") ON DELETE SET NULL ON UPDATE CASCADE; +ALTER TABLE "patients" ADD CONSTRAINT "patients_roomId_fkey" FOREIGN KEY ("roomId") REFERENCES "rooms"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "entries" ADD CONSTRAINT "entries_patient_id_fkey" FOREIGN KEY ("patient_id") REFERENCES "patients"("id") ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE "entries" ADD CONSTRAINT "entries_patientId_fkey" FOREIGN KEY ("patientId") REFERENCES "patients"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_entry_id_fkey" FOREIGN KEY ("entry_id") REFERENCES "entries"("id") ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_entryId_fkey" FOREIGN KEY ("entryId") REFERENCES "entries"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -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; +ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "categories"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_author_id_fkey" FOREIGN KEY ("author_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; +ALTER TABLE "entry_versions" ADD CONSTRAINT "entry_versions_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "entry_executions" ADD CONSTRAINT "entry_executions_entry_id_fkey" FOREIGN KEY ("entry_id") REFERENCES "entries"("id") ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE "entry_execution" ADD CONSTRAINT "entry_execution_entryId_fkey" FOREIGN KEY ("entryId") REFERENCES "entries"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "entry_executions" ADD CONSTRAINT "entry_executions_author_id_fkey" FOREIGN KEY ("author_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; +ALTER TABLE "entry_execution" ADD CONSTRAINT "entry_execution_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20240113221445_search_index/migration.sql b/prisma/migrations/20240113221445_search_index/migration.sql deleted file mode 100644 index 451f20e..0000000 --- a/prisma/migrations/20240113221445_search_index/migration.sql +++ /dev/null @@ -1,29 +0,0 @@ -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 (); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 0a666eb..aaf5e4d 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -14,7 +14,7 @@ datasource db { model Account { id Int @id @default(autoincrement()) - user_id Int @map("userId") + userId Int type String provider String providerAccountId String @@ -26,16 +26,17 @@ model Account { id_token String? @db.Text session_state String? - user User @relation(fields: [user_id], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@unique([provider, providerAccountId]) @@map("accounts") } model User { - id Int @id @default(autoincrement()) - name String? - email String? @unique + id Int @id @default(autoincrement()) + name String? + email String? @unique + emailVerified DateTime? accounts Account[] EntryVersion EntryVersion[] @@ -57,25 +58,25 @@ model Station { // Hospital room model Room { - id Int @id @default(autoincrement()) - name String - station Station @relation(fields: [station_id], references: [id], onDelete: Cascade) - station_id Int - Patient Patient[] + id Int @id @default(autoincrement()) + name String + station Station @relation(fields: [stationId], references: [id], onDelete: Cascade) + stationId Int + Patient Patient[] @@map("rooms") } model Patient { - 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[] + id Int @id @default(autoincrement()) + firstName String + lastName String + age Int? + room Room? @relation(fields: [roomId], references: [id], onDelete: SetNull) + roomId Int? + Entry Entry[] - created_at DateTime @default(now()) + createdAt DateTime @default(now()) @@map("patients") } @@ -92,49 +93,49 @@ model Category { } model Entry { - id Int @id @default(autoincrement()) - patient Patient @relation(fields: [patient_id], references: [id], onDelete: Cascade) - patient_id Int + id Int @id @default(autoincrement()) + patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade) + patientId Int EntryVersion EntryVersion[] EntryExecution EntryExecution[] - created_at DateTime @default(now()) + createdAt DateTime @default(now()) @@map("entries") } model EntryVersion { - id Int @id @default(autoincrement()) - entry Entry @relation(fields: [entry_id], references: [id], onDelete: Cascade) - entry_id Int + id Int @id @default(autoincrement()) + entry Entry @relation(fields: [entryId], references: [id], onDelete: Cascade) + entryId Int text String date DateTime - category Category? @relation(fields: [category_id], references: [id], onDelete: SetNull) - category_id Int? - priority Boolean + category Category? @relation(fields: [categoryId], references: [id], onDelete: SetNull) + categoryId Int? + priority Boolean - author User @relation(fields: [author_id], references: [id]) - author_id Int + author User @relation(fields: [authorId], references: [id]) + authorId Int - created_at DateTime @default(now()) + createdAt DateTime @default(now()) @@map("entry_versions") } model EntryExecution { - id Int @id @default(autoincrement()) - entry Entry @relation(fields: [entry_id], references: [id], onDelete: Cascade) - entry_id Int + id Int @id @default(autoincrement()) + entry Entry @relation(fields: [entryId], references: [id], onDelete: Cascade) + entryId Int text String - author User @relation(fields: [author_id], references: [id]) - author_id Int + author User @relation(fields: [authorId], references: [id]) + authorId Int - created_at DateTime @default(now()) + createdAt DateTime @default(now()) - @@map("entry_executions") + @@map("entry_execution") } diff --git a/run/gen-mockdata.ts b/run/gen-mockdata.ts deleted file mode 100644 index 3c43fd2..0000000 --- a/run/gen-mockdata.ts +++ /dev/null @@ -1,4 +0,0 @@ -// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths -import generateMockdata from "../tests/helpers/generate-mockdata" - -await generateMockdata(); diff --git a/src/lib/server/authAdapter.ts b/src/lib/server/authAdapter.ts index 7bc5124..93cfedb 100644 --- a/src/lib/server/authAdapter.ts +++ b/src/lib/server/authAdapter.ts @@ -7,7 +7,7 @@ function mapUser(user: User): AdapterUser { id: user.id.toString(), name: user.name, email: user.email!, - emailVerified: null, + emailVerified: user.emailVerified, }; } @@ -18,7 +18,7 @@ function mapUserOpt(user: User | null | undefined): AdapterUser | null { function mapAccount(account: Account): AdapterAccount { return { - userId: account.user_id.toString(), + userId: account.userId.toString(), type: account.type as "oauth" | "oidc" | "email", provider: account.provider, providerAccountId: account.providerAccountId, @@ -39,6 +39,7 @@ export function PrismaAdapter(p: PrismaClient): Adapter { data: { name: data.name, email: data.email, + emailVerified: data.emailVerified, }, }) ), @@ -61,7 +62,7 @@ export function PrismaAdapter(p: PrismaClient): Adapter { mapAccount( await p.account.create({ data: { - user_id: parseInt(data.userId), + userId: parseInt(data.userId), type: data.type, provider: data.provider, providerAccountId: data.providerAccountId, diff --git a/src/lib/server/query/category.ts b/src/lib/server/query/category.ts index fe5a6f7..8190038 100644 --- a/src/lib/server/query/category.ts +++ b/src/lib/server/query/category.ts @@ -4,7 +4,7 @@ import { prisma } from "$lib/server/prisma"; export async function newCategory(category: CategoryNew): Promise { const data = ZCategoryNew.parse(category); - const created = await prisma.category.create({ data, select: { id: true } }); + const created = await prisma.category.create({ data }); return created.id; } diff --git a/src/lib/server/query/entry.ts b/src/lib/server/query/entry.ts index 2f6659c..1190f3d 100644 --- a/src/lib/server/query/entry.ts +++ b/src/lib/server/query/entry.ts @@ -12,9 +12,8 @@ import { ZEntryNew, ZEntryVersionNew, } from "$lib/shared/model/validation"; -import { ErrorConflict } from "$lib/shared/util/error"; import { mapEntry } from "./mapping"; -import { QueryBuilder, parseSearchQuery } from "./util"; +import { QueryBuilder } from "./util"; const USER_SELECT = { select: { id: true, name: true } }; @@ -25,12 +24,12 @@ export async function getEntry(id: number): Promise { patient: { include: { room: { include: { station: true } } } }, EntryVersion: { include: { author: USER_SELECT, category: true }, - orderBy: { created_at: "desc" }, + orderBy: { createdAt: "desc" }, take: 1, }, EntryExecution: { include: { author: USER_SELECT }, - orderBy: { created_at: "desc" }, + orderBy: { createdAt: "desc" }, take: 1, }, }, @@ -39,172 +38,117 @@ export async function getEntry(id: number): Promise { return mapEntry(entry); } -export async function newEntry(author_id: number, entry: EntryNew): Promise { +export async function newEntry(authorId: number, entry: EntryNew): Promise { const data = ZEntryNew.parse(entry); const created = await prisma.entry.create({ data: { - patient_id: data.patient_id, + patientId: data.patientId, EntryVersion: { create: { - author_id, + authorId, ...data.version, }, }, }, - select: { id: true }, }); return created.id; } export async function newEntryVersion( - author_id: number, - entry_id: number, + authorId: number, + entryId: number, version: EntryVersionNew ): Promise { const data = ZEntryVersionNew.parse(version); - - 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; + const created = await prisma.entryVersion.create({ + data: { + entryId, + authorId, + ...data, + }, }); + return created.id; } export async function newEntryExecution( - author_id: number, - entry_id: number, + authorId: number, + entryId: number, execution: EntryExecutionNew ): Promise { const data = ZEntryExecutionNew.parse(execution); - - 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; + const created = await prisma.entryExecution.create({ + data: { + entryId, + authorId, + ...data, + }, }); + return created.id; } export async function getEntries(req: EntriesRequest): Promise> { const qb = new QueryBuilder( `select e.id, - e.created_at, + e."createdAt", ev.text, - ev.date, + ev."date", ev.priority, - 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`, + 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"`, `from entries e join entry_versions ev on - ev.entry_id = e.id + ev."entryId" = e.id and ev.id = ( select id from entry_versions ev2 where - ev2.entry_id = ev.entry_id + ev2."entryId" = ev."entryId" order by - ev2.created_at desc + ev2."createdAt" desc limit 1) -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 +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 and ex.id = ( select id from - entry_executions ex2 + entry_execution ex2 where - ex2.entry_id = ex.entry_id + ex2."entryId" = ex."entryId" order by - ex2.created_at desc + ex2."createdAt" desc limit 1) -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` +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"` ); - 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() - ); - } - + // qb.addFilterIsNull("ex.id", req.filter?.done); if (req.filter?.done === true) { qb.addFilterClause("ex.id is not null"); } else if (req.filter?.done === false) { @@ -224,41 +168,41 @@ join stations s on s.id = r.station_id` author = [author]; } qb.addFilterClause( - `${qb.pvar()}::integer[] && (select array_agg(ev2.author_id) from entry_versions ev2 where ev2.entry_id=e.id)`, + `${qb.pvar()}::integer[] && (select array_agg(ev2."authorId") from entry_versions ev2 where ev2."entryId"=e.id)`, author ); } - qb.setOrderClause(`order by e.created_at desc`); + qb.setOrderClause(`order by e."createdAt" desc`); if (req.pagination) qb.setPagination(req.pagination); type RequestItem = { id: number; - created_at: Date; + createdAt: Date; text: string; date: Date; priority: boolean; - 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; + 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; }; const [res, countRes] = (await Promise.all([ @@ -272,40 +216,40 @@ join stations s on s.id = r.station_id` return { id: item.id, patient: { - 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, + id: item.patientId, + firstName: item.patientFirstName, + lastName: item.patientLastName, + createdAt: item.patientCreatedAt, + age: item.patientAge, room: { - id: item.room_id, - name: item.room_name, - station: { id: item.station_id, name: item.station_name }, + id: item.roomId, + name: item.roomName, + station: { id: item.stationId, name: item.stationName }, }, }, - created_at: item.created_at, - current_version: { - id: item.version_id, + createdAt: item.createdAt, + currentVersion: { + id: item.versionId, text: item.text, date: item.date, - category: item.category_id + category: item.categoryId ? { - id: item.category_id, - name: item.category_name, - color: item.category_color, + id: item.categoryId, + name: item.categoryName, + color: item.categoryColor, description: null, } : null, priority: item.priority, - author: { id: item.version_author_id, name: item.version_author_name }, - created_at: item.version_created_at, + author: { id: item.versionAuthorId, name: item.versionAuthorName }, + createdAt: item.createdAt, }, - execution: item.execution_id + execution: item.executionId ? { - 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, + id: item.executionId, + author: { id: item.executionAuthorId, name: item.executionAuthorName }, + text: item.executionText, + createdAt: item.executionCreatedAt, } : null, }; diff --git a/src/lib/server/query/mapping.ts b/src/lib/server/query/mapping.ts index cd560e0..0c3b3b2 100644 --- a/src/lib/server/query/mapping.ts +++ b/src/lib/server/query/mapping.ts @@ -1,5 +1,4 @@ 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, @@ -22,9 +21,9 @@ type DbEntryExecutionLn = DbEntryExecution & { author: UserTag }; export function mapPatient(patient: DbPatientLn): Patient { return { id: patient.id, - first_name: patient.first_name, - last_name: patient.last_name, - created_at: patient.created_at, + firstName: patient.firstName, + lastName: patient.lastName, + createdAt: patient.createdAt, age: patient.age, room: patient.room ? { @@ -56,27 +55,27 @@ export function mapEntry( } ): Entry { const v = entry.EntryVersion[0]; - if (!v) throw new ErrorNotFound("no version associated with that entry"); + if (!v) throw new Error("no version associated with that entry"); const x = entry.EntryExecution[0]; return { id: entry.id, patient: mapPatient(entry.patient), - created_at: entry.created_at, - current_version: { + createdAt: entry.createdAt, + currentVersion: { id: v.id, text: v.text, date: v.date, category: v.category, priority: v.priority, author: v.author, - created_at: v.created_at, + createdAt: v.createdAt, }, execution: x ? { id: x.id, author: x.author, - created_at: x.created_at, + createdAt: x.createdAt, text: x.text, } : null, diff --git a/src/lib/server/query/patient.ts b/src/lib/server/query/patient.ts index 44c4e53..d1fef72 100644 --- a/src/lib/server/query/patient.ts +++ b/src/lib/server/query/patient.ts @@ -12,7 +12,7 @@ import { convertFilterList } from "./util"; export async function newPatient(patient: PatientNew): Promise { const data = ZPatientNew.parse(patient); - const created = await prisma.patient.create({ data, select: { id: true } }); + const created = await prisma.patient.create({ data }); return created.id; } @@ -29,9 +29,9 @@ export async function getPatient(id: number): Promise { export async function getPatients(req: PatientsRequest): Promise> { const offset = req.pagination?.offset || 0; const where = { - room_id: convertFilterList(req.filter?.room), + roomId: convertFilterList(req.filter?.room), room: { - station_id: convertFilterList(req.filter?.station), + stationId: convertFilterList(req.filter?.station), }, }; const [patients, total] = await Promise.all([ @@ -40,7 +40,7 @@ export async function getPatients(req: PatientsRequest): Promise { const data = ZStationNew.parse(station); - const created = await prisma.station.create({ data, select: { id: true } }); + const created = await prisma.station.create({ data }); return created.id; } @@ -19,7 +19,7 @@ export async function getStations(): Promise { export async function newRoom(room: RoomNew): Promise { const data = ZRoomNew.parse(room); - const created = await prisma.room.create({ data, select: { id: true } }); + const created = await prisma.room.create({ data }); return created.id; } diff --git a/src/lib/server/query/util.test.ts b/src/lib/server/query/util.test.ts index 03489e2..d8bf743 100644 --- a/src/lib/server/query/util.test.ts +++ b/src/lib/server/query/util.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "vitest"; -import { QueryBuilder, parseSearchQuery } from "./util"; +import { QueryBuilder } from "./util"; test("query builder", () => { const qb = new QueryBuilder("select e.id, e.text, e.category", "from entries e"); @@ -18,40 +18,3 @@ 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':*` - ); -}); diff --git a/src/lib/server/query/util.ts b/src/lib/server/query/util.ts index 0ace9d7..17c3582 100644 --- a/src/lib/server/query/util.ts +++ b/src/lib/server/query/util.ts @@ -13,97 +13,6 @@ export function convertFilterList( } } -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; diff --git a/src/lib/shared/model/model.ts b/src/lib/shared/model/model.ts index ebc9d6b..af4db7e 100644 --- a/src/lib/shared/model/model.ts +++ b/src/lib/shared/model/model.ts @@ -34,7 +34,7 @@ export type Room = { export type RoomNew = { name: string; - station_id: number; + stationId: number; }; export type Category = { @@ -52,31 +52,31 @@ export type CategoryNew = { export type Patient = { id: number; - first_name: string; - last_name: string; + firstName: string; + lastName: string; age: Option; room: Option; - created_at: Date; + createdAt: Date; }; export type PatientNew = { - first_name: string; - last_name: string; + firstName: string; + lastName: string; age: Option; - room_id: number; + roomId: number; }; export type Entry = { id: number; patient: Patient; - created_at: Date; - current_version: EntryVersion; + createdAt: Date; + currentVersion: EntryVersion; execution: Option; }; export type EntryNew = { - patient_id: number; - version: EntryVersionNdata; + patientId: number; + version: EntryVersionNew; }; export type EntryVersion = { @@ -86,30 +86,23 @@ export type EntryVersion = { category: Option; priority: boolean; author: UserTag; - created_at: Date; + createdAt: Date; }; -export type EntryVersionNdata = { +export type EntryVersionNew = { text: string; date: Date; - category_id: Option; + categoryId: Option; priority: boolean; }; -export type EntryVersionNew = Partial<{ - old_version: number; -}> & - Partial; - export type EntryExecution = { id: number; author: UserTag; text: string; - created_at: Date; + createdAt: Date; }; -export type EntryExecutionNew = Partial<{ - old_execution: number | null; -}> & { +export type EntryExecutionNew = { text: string; }; diff --git a/src/lib/shared/model/requests.ts b/src/lib/shared/model/requests.ts index 823ee28..a8597ca 100644 --- a/src/lib/shared/model/requests.ts +++ b/src/lib/shared/model/requests.ts @@ -6,7 +6,6 @@ export type PaginationRequest = { export type FilterList = T | T[]; export type EntriesFilter = Partial<{ - search: string; done: boolean; author: FilterList; executor: FilterList; diff --git a/src/lib/shared/model/validation.ts b/src/lib/shared/model/validation.ts index 0901551..c5902b6 100644 --- a/src/lib/shared/model/validation.ts +++ b/src/lib/shared/model/validation.ts @@ -4,7 +4,6 @@ import type { CategoryNew, EntryExecutionNew, EntryNew, - EntryVersionNdata, EntryVersionNew, PatientNew, RoomNew, @@ -19,7 +18,7 @@ export const ZStationNew = implement().with({ name: ZNameString }); export const ZRoomNew = implement().with({ name: ZNameString, - station_id: ZEntityId, + stationId: ZEntityId, }); export const ZCategoryNew = implement().with({ @@ -33,31 +32,24 @@ export const ZCategoryNew = implement().with({ }); export const ZPatientNew = implement().with({ - first_name: ZNameString, - last_name: ZNameString, + firstName: ZNameString, + lastName: ZNameString, age: z.number().int().nonnegative().lt(200).nullable(), - room_id: ZEntityId, + roomId: ZEntityId, }); export const ZEntryVersionNew = implement().with({ - old_version: ZEntityId.optional(), - text: ZTextString.optional(), - date: z.date().optional(), - category_id: ZEntityId.optional().nullable(), - priority: z.boolean().optional(), + text: ZTextString, + date: z.date(), + categoryId: ZEntityId.nullable(), + priority: z.boolean(), }); export const ZEntryNew = implement().with({ - patient_id: ZEntityId, - version: implement().with({ - text: ZTextString, - date: z.date(), - category_id: ZEntityId.nullable(), - priority: z.boolean(), - }), + patientId: ZEntityId, + version: ZEntryVersionNew, }); export const ZEntryExecutionNew = implement().with({ - old_execution: ZEntityId.optional().nullable(), text: ZTextString, }); diff --git a/src/lib/shared/util/error.ts b/src/lib/shared/util/error.ts deleted file mode 100644 index 35972c5..0000000 --- a/src/lib/shared/util/error.ts +++ /dev/null @@ -1,13 +0,0 @@ -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); - } -} diff --git a/tests/helpers/generate-mockdata.ts b/tests/helpers/generate-mockdata.ts deleted file mode 100644 index 1cfb031..0000000 --- a/tests/helpers/generate-mockdata.ts +++ /dev/null @@ -1,161 +0,0 @@ -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}` - ), - ]); - } -}; diff --git a/tests/helpers/mockdata_entries.jsonl b/tests/helpers/mockdata_entries.jsonl deleted file mode 100644 index 8405468..0000000 --- a/tests/helpers/mockdata_entries.jsonl +++ /dev/null @@ -1,300 +0,0 @@ -{"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."} diff --git a/tests/helpers/reset-db.ts b/tests/helpers/reset-db.ts index e3b710e..ffa52e2 100644 --- a/tests/helpers/reset-db.ts +++ b/tests/helpers/reset-db.ts @@ -1,5 +1,7 @@ -import { prisma } from "$lib/server/prisma"; -import { CATEGORIES, STATIONS } from "./testdata"; +import { PrismaClient } from "@prisma/client"; +import { CATEGORIES } from "./testdata"; + +const prisma = new PrismaClient(); export default async () => { await prisma.$transaction([ @@ -19,32 +21,33 @@ export default async () => { ], }), prisma.category.createMany({ data: CATEGORIES }), - prisma.station.createMany({ data: STATIONS }), + prisma.station.createMany({ + data: [ + { id: 1, name: "S1" }, + { id: 2, name: "S2" }, + ], + }), prisma.room.createMany({ data: [ - { id: 1, name: "R1.1", station_id: 1 }, - { id: 2, name: "R1.2", station_id: 1 }, - { id: 3, name: "R2.1", station_id: 2 }, + { id: 1, name: "R1.1", stationId: 1 }, + { id: 2, name: "R1.2", stationId: 1 }, + { id: 3, name: "R2.1", stationId: 2 }, ], }), prisma.patient.createMany({ data: [ - { 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 }, + { 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 }, ], }), prisma.$executeRaw`alter sequence users_id_seq restart with 3`, - 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`), + 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`, ]); }; diff --git a/tests/helpers/testdata.ts b/tests/helpers/testdata.ts index 6288a8f..3aa19b0 100644 --- a/tests/helpers/testdata.ts +++ b/tests/helpers/testdata.ts @@ -3,8 +3,6 @@ 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, diff --git a/tests/integration/query/entry.ts b/tests/integration/query/entry.ts index 941a83b..d34b3f8 100644 --- a/tests/integration/query/entry.ts +++ b/tests/integration/query/entry.ts @@ -5,11 +5,10 @@ import { newEntryExecution, newEntryVersion, } from "$lib/server/query"; -import { ErrorConflict } from "$lib/shared/util/error"; import { expect, test } from "vitest"; const TEST_VERSION = { - category_id: 1, + categoryId: 1, text: "10ml Blut abnehmen", date: new Date(2024, 1, 1), priority: false, @@ -17,7 +16,7 @@ const TEST_VERSION = { test("create entry", async () => { const eId = await newEntry(1, { - patient_id: 1, + patientId: 1, version: TEST_VERSION, }); expect(eId).gt(0); @@ -25,140 +24,72 @@ test("create entry", async () => { const entry = await getEntry(eId); expect(entry.patient.id).toBe(1); expect(entry.execution).toBeNull(); - 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); + 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); }); -test("create entry version", async () => { +test("create extry version", async () => { const eId = await newEntry(1, { - patient_id: 1, + patientId: 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, { - 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, + ...TEST_VERSION, text, }); const entry = await getEntry(eId); - expect(entry.current_version).toMatchObject({ - author: { id: 2 }, - date: oldEntry.current_version.date, - text, - category: oldEntry.current_version.category, - priority: oldEntry.current_version.priority, - }); + expect(entry.currentVersion.text).toBe(text); }); -test("create entry version (wrong old vid)", async () => { +test("create extry execution", async () => { const eId = await newEntry(1, { - patient_id: 1, - version: TEST_VERSION, - }); -}); - -test("create entry execution", async () => { - const eId = await newEntry(1, { - patient_id: 1, + patientId: 1, version: TEST_VERSION, }); const text = "Blutabnahme erledigt."; - const xId = await newEntryExecution(1, eId, { old_execution: null, text }); - + await newEntryExecution(1, eId, { 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, { - patient_id: 1, + patientId: 1, version: TEST_VERSION, }); const eId2 = await newEntry(1, { - patient_id: 2, + patientId: 2, version: { text: "Carrot cake jelly-o bonbon toffee chocolate.", date: new Date(2024, 1, 5), priority: false, - category_id: null, + categoryId: null, }, }); const eId3 = await newEntry(1, { - patient_id: 1, + patientId: 1, version: { text: "Cheesecake danish donut oat cake caramels.", date: new Date(2024, 1, 6), priority: false, - category_id: null, + categoryId: null, }, }); // Update an entry await newEntryVersion(2, eId1, { - category_id: 3, - text: TEST_VERSION.text + "\n\n> Hello World", + categoryId: 3, + text: "Hello World", date: new Date(2024, 1, 1), priority: true, }); @@ -228,10 +159,4 @@ 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); }); diff --git a/tests/integration/query/patient.ts b/tests/integration/query/patient.ts index fe82e1d..5cf8ada 100644 --- a/tests/integration/query/patient.ts +++ b/tests/integration/query/patient.ts @@ -5,16 +5,16 @@ import { S1, S2 } from "../../helpers/testdata"; test("create patient", async () => { const pId = await newPatient({ - first_name: "Max", - last_name: "Müller", + firstName: "Max", + lastName: "Müller", age: 31, - room_id: 1, + roomId: 1, }); const patient = await getPatient(pId); expect(patient).toMatchObject({ id: pId, - first_name: "Max", - last_name: "Müller", + firstName: "Max", + lastName: "Müller", age: 31, room: { id: 1, name: "R1.1", station: S1 }, }); @@ -26,22 +26,22 @@ test("get patients", async () => { items: [ { id: 1, - first_name: "Andreas", - last_name: "Bergmann", + firstName: "Andreas", + lastName: "Bergmann", age: 22, room: { id: 1, name: "R1.1", station: S1 }, }, { id: 2, - first_name: "Manuela", - last_name: "Kortig", + firstName: "Manuela", + lastName: "Kortig", age: 41, room: { id: 2, name: "R1.2", station: S1 }, }, { id: 3, - first_name: "Markus", - last_name: "Schuster", + firstName: "Markus", + lastName: "Schuster", age: 50, room: { id: 3, name: "R2.1", station: S2 }, }, diff --git a/tests/integration/query/room.ts b/tests/integration/query/room.ts index 7e823fd..3f20352 100644 --- a/tests/integration/query/room.ts +++ b/tests/integration/query/room.ts @@ -23,7 +23,7 @@ test("get stations", async () => { }); test("create room", async () => { - const rId = await newRoom({ name: "A1", station_id: 1 }); + const rId = await newRoom({ name: "A1", stationId: 1 }); const room = await getRoom(rId); expect(room).toStrictEqual({ id: rId,