---
title: "Waroku Hospital Karte — Hồ sơ bệnh án điện tử — Tran Manh Tuan"
description: "Nền tảng bệnh án điện tử và workflow lâm sàng trên cloud cho bệnh viện tâm thần tại Nhật: Karte, clinical order nhiều bước, ward và giường bệnh, điều dưỡng, lịch."
canonical: "https://tmtuan.dev/vi/projects/waroku-hospital-karte"
language: "vi"
image: "https://tmtuan.dev/_img/projects/waroku-hospital-karte/waroku-hospital-karte.024f06f2-og.jpg"
tokens: 5079
---

# Waroku Hospital Karte

**Waroku Hospital Karte** là nền tảng hồ sơ bệnh án điện tử và workflow lâm sàng trên cloud dành cho bệnh viện tâm thần tại Nhật Bản. Đây không chỉ là nơi xem bệnh án: bác sĩ, điều dưỡng và các bộ phận hỗ trợ dùng hệ thống để tìm bệnh nhân, vận hành điều trị nội trú và ngoại trú, quản lý ward và giường bệnh, lịch, task, bàn giao — và quan trọng nhất là tạo, xác nhận, tiếp nhận và thực thi clinical order.

Giai đoạn 2021–2022, tôi là **Tech Lead** của team phát triển tại Việt Nam. Phạm vi của team là **frontend** bằng Vue, Nuxt và TypeScript, trên codebase và cấu trúc component có sẵn; team gồm frontend developer, IT communicator và các thành viên junior, còn specification đến từ phía Nhật.

> **Vì sao đây là dự án hệ thống quản lý:** một hệ thống bệnh viện là hàng chục module dùng chung một bệnh nhân, một tổ chức và một bộ nhân sự, giường bệnh và order. Một thao tác nhỏ có thể đổi trạng thái bệnh nhân, giường bệnh, order, lịch và người phải hành động tiếp theo. Màn hình trông đúng vẫn có thể làm sai clinical workflow — nên dẫn dắt team nghĩa là phải hiểu workflow đủ sâu để chặn điều đó.

## Các module và cách người dùng đi vào

Mọi module dùng chung một lõi: định danh bệnh nhân, hospital và organization, định danh bác sĩ và điều dưỡng, khoa, ward, buồng và giường, order, lịch, trạng thái thực thi và lịch sử lâm sàng.

```mermaid
flowchart TB
    accTitle: Tổng quan hệ thống Waroku Hospital Karte
    accDescr: Bác sĩ, điều dưỡng và staff đăng nhập qua authentication theo role, rồi vào context của hospital / organization. Context đó quyết định global header và global menu theo role. Header dẫn tới patient search, search mở Karte của bệnh nhân. Global menu dẫn tới Karte, nội trú, ngoại trú, order management, schedule / task, điều dưỡng, rehabilitation, và nhóm conference / PSW / support. Từ Karte, người dùng tạo order và quản lý schedule.

    STAFF["Bác sĩ / Điều dưỡng / Staff"]

    AUTH["Authentication / Role"]
    HOSPITAL["Hospital / Organization Context"]

    HEADER["Global Header"]
    MENU["Role-based Global Menu"]

    SEARCH["Patient Search"]
    KARTE["Karte / Patient Chart"]

    INPATIENT["Nội trú"]
    OUTPATIENT["Ngoại trú"]
    ORDER["Order Management"]
    SCHEDULE["Schedule / Task"]
    NURSING["Điều dưỡng"]
    REHAB["Rehabilitation"]
    SUPPORT["Conference / PSW / Support"]

    STAFF --> AUTH
    AUTH --> HOSPITAL
    HOSPITAL --> HEADER
    HOSPITAL --> MENU

    HEADER --> SEARCH
    SEARCH --> KARTE

    MENU --> KARTE
    MENU --> INPATIENT
    MENU --> OUTPATIENT
    MENU --> ORDER
    MENU --> SCHEDULE
    MENU --> NURSING
    MENU --> REHAB
    MENU --> SUPPORT

    KARTE --> ORDER
    KARTE --> SCHEDULE
```

_Authentication và context của hospital đi trước; chúng quyết định header và menu hiển thị những gì._

## Vai trò của tôi

- Nắm kiến trúc tổng thể của frontend và cách tích hợp với API, hướng dẫn team phát triển theo codebase và cấu trúc component có sẵn.
- Review implementation và pull request, giữ component dùng chung, modal dùng lại và convention nhất quán trên một số lượng màn hình rất lớn.
- Cùng team phân tích screen specification và API specification, giải thích nghiệp vụ lâm sàng phía sau.
- Nhận các màn hình có business rule phức tạp và dependency giữa nhiều màn hình / module; đánh giá ảnh hưởng của thay đổi lên các workflow liên quan.
- Hỗ trợ debug các vấn đề giữa frontend và API.
- Theo dõi tiến độ kỹ thuật của team, hỗ trợ thành viên junior và intern.
- Làm cầu nối kỹ thuật giữa specification phía Nhật và implementation phía Việt Nam.

## Một điểm vào: đăng nhập, context bệnh viện và tìm bệnh nhân

Nhân viên đăng nhập bằng login ID và mật khẩu, có reset và đổi mật khẩu; xác thực hai lớp nằm trong yêu cầu. Session không chỉ quyết định quyền truy cập mà còn quyết định menu và workflow người dùng được phép dùng. Một người dùng có thể thuộc và chuyển giữa nhiều hospital trong cùng group và organization, và một số menu — ví dụ sub-menu rehabilitation và instruction — khác nhau theo hospital, nên menu lấy từ API thay vì hard-code.

Global header cho phép tìm bệnh nhân từ bất kỳ đâu: tên Katakana tìm theo forward match, số bệnh nhân tìm theo exact match. Kết quả mở Karte của bệnh nhân, biến tìm kiếm thành điểm vào của clinical workflow.

```mermaid
flowchart LR
    accTitle: Từ tìm kiếm bệnh nhân tới workflow của bệnh nhân
    accDescr: Người dùng đăng nhập, chọn hoặc xác định hospital, rồi dùng global header để tìm bệnh nhân. Kết quả tìm kiếm mở Karte của bệnh nhân; từ Karte người dùng đi tiếp tới order, schedule, lịch sử và thông tin lâm sàng.

    LOGIN["Login"]
    HOSPITAL["Chọn / xác định Hospital"]
    HEADER["Global Header"]

    SEARCH["Tìm bệnh nhân"]
    RESULT["Kết quả tìm kiếm"]
    KARTE["Karte"]

    ORDER["Order"]
    SCHEDULE["Schedule"]
    HISTORY["Lịch sử"]
    CLINICAL["Thông tin lâm sàng"]

    LOGIN --> HOSPITAL
    HOSPITAL --> HEADER

    HEADER --> SEARCH
    SEARCH --> RESULT
    RESULT --> KARTE

    KARTE --> ORDER
    KARTE --> SCHEDULE
    KARTE --> HISTORY
    KARTE --> CLINICAL
```

_Từ đăng nhập tới hồ sơ bệnh nhân chỉ qua vài bước, dù người dùng bắt đầu từ màn hình nào._

## Menu đi theo role

Global menu là bản đồ công việc của bệnh viện, không phải thanh điều hướng tĩnh. Menu gom các chức năng dùng chung (work task, schedule, countersignature, announcement, handover), công việc ward / nội trú (nhật ký quản lý điều dưỡng, danh sách trạng thái bệnh nhân, danh sách bệnh nhân cho bác sĩ và cho điều dưỡng, bed map, nhập liệu khi đi buồng, flow sheet, ra ngoài và ngủ qua đêm, hạn chế vận động, nhật ký điều dưỡng ward), danh sách và nhật ký ngoại trú, order (order list, execution list, order đã hoàn tất, xác nhận booking, output xét nghiệm), rehabilitation cá nhân và nhóm, instruction cá nhân và nhóm, conference, và consultation log / PSW log.

```mermaid
flowchart TB
    accTitle: Điều hướng theo role
    accDescr: Người dùng đăng nhập được phân theo role / authority thành ba nhóm menu. Menu bác sĩ dẫn tới order, chẩn đoán, Karte và danh sách bệnh nhân của bác sĩ. Menu điều dưỡng dẫn tới nhật ký điều dưỡng, flow sheet và danh sách bệnh nhân của điều dưỡng. Menu dùng chung dẫn tới task / schedule, chat / announcement và tìm kiếm bệnh nhân.

    USER["Người dùng đã đăng nhập"]
    ROLE{"Role / Authority"}

    DOC["Menu bác sĩ"]
    NURSE["Menu điều dưỡng"]
    COMMON["Menu dùng chung"]

    DOC_ORDER["Order / Chẩn đoán / Karte"]
    DOC_PATIENT["Danh sách bệnh nhân của bác sĩ"]

    NURSE_LOG["Nhật ký điều dưỡng / Flow Sheet"]
    NURSE_PATIENT["Danh sách bệnh nhân của điều dưỡng"]

    TASK["Task / Schedule"]
    CHAT["Chat / Announcement"]
    SEARCH["Tìm kiếm bệnh nhân"]

    USER --> ROLE

    ROLE --> DOC
    ROLE --> NURSE
    ROLE --> COMMON

    DOC --> DOC_ORDER
    DOC --> DOC_PATIENT

    NURSE --> NURSE_LOG
    NURSE --> NURSE_PATIENT

    COMMON --> TASK
    COMMON --> CHAT
    COMMON --> SEARCH
```

_Bác sĩ và điều dưỡng không có cùng menu, cũng không có cùng quyền; role quyết định cả hai._

## Karte

Karte — hồ sơ bệnh nhân — là trung tâm workflow của bệnh nhân: basic tab và thông tin bệnh nhân, lịch của bệnh nhân, life history, ghi chép vào chart, order entry và order history, thông tin lâm sàng. Từ đây bác sĩ và điều dưỡng xem lịch sử, nhập thông tin lâm sàng, tạo order, quản lý lịch và chuyển sang các module chuyên môn. Lịch không chỉ là calendar: nó kết hợp lịch hẹn của bệnh nhân với lịch của staff, của facility, task và ToDo.

## Clinical order: module lớn nhất

Order là một trong những workflow cốt lõi của cả hệ thống. Có năm loại cơ bản — kê đơn, tiêm, xét nghiệm, điều trị và chẩn đoán hình ảnh — cùng các order chuyên biệt như xét nghiệm tâm lý và sinh lý, CT và X-Ray, bữa ăn, chuyển khoa / buồng, chỉ định task, ra viện hoặc chuyển sang ngoại trú. Loại order mới có thể được thêm qua API, nên module vận hành như một order framework, trong đó mỗi loại mang form và rule riêng.

```mermaid
flowchart TB
    accTitle: Các nhóm clinical order
    accDescr: Một clinical order có năm nhóm cơ bản: kê đơn, tiêm, xét nghiệm, điều trị và chẩn đoán hình ảnh. Xét nghiệm chia thành xét nghiệm tâm lý và xét nghiệm sinh lý; chẩn đoán hình ảnh gồm CT / X-Ray. Ngoài ra còn các order bữa ăn, chuyển khoa / buồng / giường, chỉ định task và ra viện / chuyển ngoại trú.

    ORDER["Clinical Order"]

    MED["Kê đơn"]
    INJ["Tiêm"]
    EXAM["Xét nghiệm"]
    TREAT["Điều trị"]
    IMG["Hình ảnh"]

    PSY["Xét nghiệm tâm lý"]
    PHYS["Xét nghiệm sinh lý"]
    CT["CT / X-Ray"]

    MEAL["Bữa ăn"]
    MOVE["Chuyển khoa / buồng / giường"]
    TASK["Chỉ định task"]
    DISCHARGE["Ra viện / chuyển ngoại trú"]

    ORDER --> MED
    ORDER --> INJ
    ORDER --> EXAM
    ORDER --> TREAT
    ORDER --> IMG

    EXAM --> PSY
    EXAM --> PHYS
    IMG --> CT

    ORDER --> MEAL
    ORDER --> MOVE
    ORDER --> TASK
    ORDER --> DISCHARGE
```

_Một order framework, nhiều loại order, mỗi loại có form và rule riêng._

- **Order thường và order có điều kiện.** Bên cạnh order thường, **IF order** chỉ được thực thi khi một điều kiện xác định xảy ra, nên phải lưu trigger condition, title, comment, state và execution logic.
- **Order cart.** Trên Karte, bác sĩ nhập order theo từng tab; order chỉ được tạo cho tab hiện tại khi thêm vào cart, còn dữ liệu đã nhập ở các tab khác vẫn được giữ. Cart đóng vai trò staging area trước khi xác nhận clinical order.
- **Xác nhận.** Một số order cần approval, consent, countersign hoặc nhiều mức xác nhận, và order list thể hiện từng bước xác nhận.
- **Tiếp nhận và thực thi.** Sau khi được xác nhận, order chuyển sang các danh sách order toàn hệ thống, nơi staff phù hợp tiếp nhận và trở thành người phụ trách thực thi. Lần thực thi ghi lại ngày giờ, người thực thi, trạng thái và các input riêng của order; X-Ray, tiêm và điều trị có màn hình thực thi riêng.
- **Thực thi hàng loạt** chỉ được phép khi hợp lý: checkbox bị disable với các order không thể thực thi cùng nhau, tùy loại order, trạng thái, yêu cầu booking, yêu cầu tiếp nhận và mức sẵn sàng.
- **Tìm kiếm** lọc theo bệnh nhân, tuổi, giới tính, ngày order, khoa, ward, bác sĩ, điều dưỡng và team rehabilitation; người dùng có thể lưu, xóa và dùng lại điều kiện tìm kiếm.

```mermaid
flowchart TD
    accTitle: Vòng đời của một clinical order
    accDescr: Bác sĩ mở Karte, chọn loại order, nhập thông tin rồi thêm vào order cart. Bước review / confirm kiểm tra xem có cảnh báo hoặc cần approval không: nếu có thì xử lý cảnh báo hoặc xác nhận trước, nếu không thì phát hành order ngay. Order đã phát hành vào order list, staff phụ trách tiếp nhận, thực thi rồi chuyển sang completed. Order đã phát hành hoặc đã được tiếp nhận vẫn có thể bị thay đổi, suspend hoặc cancel.

    A["Bác sĩ mở Karte"]
    B["Chọn loại Order"]
    C["Nhập thông tin Order"]
    D["Thêm vào Order Cart"]

    E["Review / Confirm"]
    F{"Có cảnh báo hoặc cần approval?"}

    G["Xử lý cảnh báo / xác nhận"]
    H["Phát hành Order"]

    I["Order List"]
    J["Staff tiếp nhận Order"]
    K["Thực thi"]

    L["Completed"]
    M["Change / Suspend / Cancel"]

    A --> B
    B --> C
    C --> D
    D --> E

    E --> F

    F -- "Có" --> G
    G --> H

    F -- "Không" --> H

    H --> I
    I --> J
    J --> K

    K --> L

    H --> M
    J --> M
```

_Order không đi thẳng từ tạo tới hoàn tất. Nó được xác nhận, tiếp nhận và thực thi bởi những người khác nhau — và có thể bị đổi, suspend hoặc cancel dọc đường._

## Các loại order có rule riêng

- **Kê đơn:** nội trú hoặc ngoại trú, khoa, bảo hiểm, loại đơn, ngày bắt đầu và kết thúc, thông tin thuốc, đơn trước đó, comment, phiếu thông tin thuốc, IF order và thực thi ngay. Hệ thống có thể đưa ra cảnh báo trước khi tạo order; bác sĩ xác nhận cảnh báo, quay lại sửa, hoặc tiếp tục — một bước an toàn lâm sàng nằm ngay trong workflow.
- **Xét nghiệm và hình ảnh:** xét nghiệm tâm lý, sinh lý, xét nghiệm cận lâm sàng, CT và X-Ray, mỗi loại có khoa, bảo hiểm, lịch, cách chỉ định và trạng thái thực thi. Chỉ định hình ảnh có thể là tạm thời hoặc định kỳ, cho một ngày, nhiều ngày, một khoảng ngày hoặc ngày chưa xác định; thực thi X-Ray ghi số order, thời gian, người thực thi, và yêu cầu xác nhận lại khi order thay đổi.
- **Điều trị:** tạm thời hoặc định kỳ, có lịch thực thi, comment và staff phụ trách.
- **Bữa ăn:** order và lịch sử bữa ăn, loại bữa và khung giờ, thay đổi tạm thời, comment và thời gian áp dụng thay đổi.
- **Chuyển khoa / buồng / giường:** ngày giờ, khoa, bảo hiểm, tòa nhà, buồng, giường và bác sĩ chính.
- **Ra viện và chuyển sang ngoại trú:** một thay đổi trạng thái mà các module khác phải đi theo.

## Nội trú và điều dưỡng

Công việc nội trú có danh sách và màn hình riêng: danh sách trạng thái bệnh nhân, danh sách bệnh nhân cho bác sĩ và cho điều dưỡng, bed map theo ward / buồng / giường, nhập liệu của bác sĩ khi đi buồng, flow sheet, nhật ký điều dưỡng ward và ngoại trú. Ra ngoài và ngủ qua đêm có cả vòng đời yêu cầu — thời hạn, trạng thái, lịch sử, hủy yêu cầu và trạng thái trở về — còn hạn chế vận động có danh sách riêng. Vì chuyển buồng và ra viện làm đổi trạng thái giường, bed map phải luôn khớp với việc di chuyển của bệnh nhân.

```mermaid
flowchart TB
    accTitle: Workflow bệnh nhân nội trú
    accDescr: Bệnh nhân nội trú có trạng thái bệnh nhân và vị trí ward / buồng / giường. Trạng thái bệnh nhân dẫn tới doctor round, workflow điều dưỡng và flow sheet. Bệnh nhân còn liên quan tới bữa ăn, chuyển khoa / buồng, ra ngoài / ngủ qua đêm, hạn chế vận động và các clinical order. Clinical order có thể dẫn tới ra viện; việc chuyển buồng cập nhật lại ward / buồng / giường.

    PATIENT["Bệnh nhân nội trú"]

    STATUS["Trạng thái bệnh nhân"]
    BED["Ward / Buồng / Giường"]
    ROUND["Doctor Round"]
    NURSE["Workflow điều dưỡng"]
    FLOW["Flow Sheet"]

    MEAL["Bữa ăn"]
    MOVE["Chuyển khoa / buồng"]
    LEAVE["Ra ngoài / ngủ qua đêm"]
    RESTRICT["Hạn chế vận động"]
    ORDER["Clinical Orders"]
    DISCHARGE["Ra viện"]

    PATIENT --> STATUS
    PATIENT --> BED

    STATUS --> ROUND
    STATUS --> NURSE
    STATUS --> FLOW

    PATIENT --> MEAL
    PATIENT --> MOVE
    PATIENT --> LEAVE
    PATIENT --> RESTRICT
    PATIENT --> ORDER

    ORDER --> DISCHARGE
    MOVE --> BED
```

_Bệnh nhân nội trú nằm ở trung tâm của trạng thái, vị trí, chăm sóc và order — và tất cả đều thay đổi._

## Lịch, task và giao tiếp trong team

Việc chăm sóc được tổ chức thành task của team: mỗi task có người thực thi, nội dung chỉ định, comment, người ra chỉ định, deadline và trạng thái, và có thể đăng ký ngay từ hồ sơ bệnh nhân. Xung quanh task là bàn giao, announcement, notification và entry point tới chat trên header.

```mermaid
flowchart LR
    accTitle: Schedule và task
    accDescr: Lịch của bệnh nhân, của staff và của facility cùng đổ vào một schedule. Schedule sinh ra task / ToDo, và task nối vào clinical workflow hằng ngày.

    PATIENT["Bệnh nhân"]
    STAFF["Staff"]
    FACILITY["Facility"]

    SCHEDULE["Schedule"]
    TODO["Task / ToDo"]

    CLINICAL["Clinical Workflow"]

    PATIENT --> SCHEDULE
    STAFF --> SCHEDULE
    FACILITY --> SCHEDULE

    SCHEDULE --> TODO
    TODO --> CLINICAL
```

_Lịch của bệnh nhân, staff và facility gặp nhau ở một chỗ và biến thành task trong ngày._

## Xây một frontend quy mô lớn

Frontend dùng file-based routing của Nuxt, tách riêng components, components dùng chung, hooks, pages, plugins và assets. Các phần dùng chung — staff selector, modal, form component dùng lại — được viết một lần; Vuetify là UI framework, SCSS để override style, Axios để gọi API. Để phát triển nhiều màn hình song song khi API chưa xong, project định nghĩa API mock bằng `axios-mock-server`, nên frontend không phải chờ backend.

```mermaid
flowchart LR
    accTitle: Quy trình phát triển frontend
    accDescr: Screen và API specification được chuyển thành API mock, còn thiết kế UI từ XD được dựng thành Vue component. Component dùng dữ liệu mock để lắp thành Nuxt page, qua code review, rồi tích hợp với API thật và test / debug.

    SPEC["Screen / API Specification"]
    DESIGN["Thiết kế UI / XD"]

    MOCK["API Mock"]
    COMPONENT["Vue Components"]
    PAGE["Nuxt Page"]

    REVIEW["Code Review"]
    API["Tích hợp API thật"]
    TEST["Test / Debug"]

    SPEC --> MOCK
    DESIGN --> COMPONENT

    MOCK --> COMPONENT
    COMPONENT --> PAGE

    PAGE --> REVIEW
    REVIEW --> API
    API --> TEST
```

_Specification thành mock và component trước; API thật đến ở cuối, không phải ở đầu._

## Kiến trúc

Trình duyệt chạy ứng dụng Nuxt, Vue và TypeScript, gọi backend API qua Axios. Tài liệu development mô tả PostgreSQL trên AWS RDS, Redis trong luồng đăng nhập, và S3 cho image / content ở một số luồng. Backend framework không được nêu ở đây vì tài liệu nguồn chưa đủ để xác định chắc chắn.

```mermaid
flowchart TB
    accTitle: Kiến trúc kỹ thuật mức high-level của Waroku Hospital Karte
    accDescr: Trình duyệt của nhân viên bệnh viện chạy ứng dụng Nuxt, Vue và TypeScript, giao diện dựng bằng Vuetify và SCSS. Ứng dụng gọi backend API qua Axios API client. Backend API làm việc với PostgreSQL trên AWS RDS, Redis và AWS S3. Backend framework cụ thể không được ghi vì tài liệu nguồn chưa đủ để xác định.

    USER["Trình duyệt của nhân viên bệnh viện"]

    NUXT["Nuxt / Vue / TypeScript"]
    UI["Vuetify / SCSS"]
    HTTP["Axios API Client"]

    API["Backend APIs"]

    REDIS["Redis"]
    RDS["AWS RDS PostgreSQL"]
    S3["AWS S3"]

    USER --> NUXT
    UI --> NUXT

    NUXT --> HTTP
    HTTP --> API

    API --> RDS
    API --> REDIS
    API --> S3
```

_Sơ đồ mức thành phần theo những gì tài liệu dự án thể hiện — không phải bản sao hạ tầng production._

## Dự án bao phủ những gì

| Bài toán của một hệ thống quản lý lớn | Thể hiện trong Waroku Hospital Karte |
| --- | --- |
| Nhiều role, một hệ thống | Menu bác sĩ, điều dưỡng và bộ phận hỗ trợ dựng từ role và authority |
| Cấu hình nhiều tổ chức | Context group, organization và hospital; menu riêng theo hospital lấy từ API |
| Workflow có nhiều người tham gia | Order được tạo, xác nhận, tiếp nhận và thực thi bởi những người khác nhau; đổi, suspend, cancel; order có điều kiện |
| Kiểm tra an toàn ngay trong workflow | Cảnh báo kê đơn, approval, consent và countersign trước khi order được phát hành |
| Tài nguyên phải luôn nhất quán | Vị trí ward / buồng / giường khớp với chuyển buồng và ra viện |
| Lập lịch cho người và nơi chốn | Lịch bệnh nhân, staff và facility đổ vào task của team |
| Số lượng màn hình rất lớn | Component dùng chung, modal dùng lại, convention và API mock để làm song song |
| Specification bằng ngôn ngữ khác | Screen / API specification tiếng Nhật chuyển thành implementation bởi team tại Việt Nam |

Các sơ đồ được dựng lại ở mức thành phần từ specification của dự án. Chúng lược bỏ URL nội bộ, định danh hệ thống, source code độc quyền và dữ liệu thật của bệnh nhân hay bệnh viện. Ảnh chụp là wireframe demo với dữ liệu mẫu.

## Thông tin

- **Vai trò:** Technical Lead · Frontend

## Công nghệ

- Vue
- Nuxt
- TypeScript
- Vuetify
- SCSS
- Axios
- axios-mock-server
- PostgreSQL
- Amazon RDS
- Redis
- AWS S3

## Dịch vụ thể hiện qua dự án

- [Hệ thống quản lý nghiệp vụ](https://tmtuan.dev/vi/services/business-systems)

## Bài viết liên quan

- [Knowledge Base docs-as-code + Context Graph cho portfolio 15 dự án](https://tmtuan.dev/vi/articles/knowledge-base-docs-as-code-context-graph)

## Structured data (JSON-LD)

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://tmtuan.dev/vi/projects/waroku-hospital-karte#webpage","url":"https://tmtuan.dev/vi/projects/waroku-hospital-karte","name":"Waroku Hospital Karte — Hồ sơ bệnh án điện tử","description":"Nền tảng bệnh án điện tử và workflow lâm sàng trên cloud cho bệnh viện tâm thần tại Nhật: Karte, clinical order nhiều bước, ward và giường bệnh, điều dưỡng, lịch.","inLanguage":"vi","isPartOf":{"@id":"https://tmtuan.dev/#website"},"about":{"@id":"https://tmtuan.dev/#person"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trang chủ","item":"https://tmtuan.dev/vi"},{"@type":"ListItem","position":2,"name":"Dự án","item":"https://tmtuan.dev/vi/projects"},{"@type":"ListItem","position":3,"name":"Waroku Hospital Karte","item":"https://tmtuan.dev/vi/projects/waroku-hospital-karte"}]}]}
```
