Nest Logo

[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 [circleci-url]: https://circleci.com/gh/nestjs/nest

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Discord Backers on Open Collective Sponsors on Open Collective Donate us Support us Follow us on Twitter

## Description Claim Guard Backend - A NestJS application for managing ICD-9 and ICD-10 medical codes with Excel import functionality. ## Features - **ICD Code Management**: Import and manage ICD-9 and ICD-10 medical codes - **Excel Import**: Read data from Excel files and store in PostgreSQL database - **Search & Filter**: Search codes by category, code, or display text - **REST API**: Full REST API endpoints for accessing ICD data - **Pagination**: Built-in pagination support for large datasets ## ICD Service Endpoints ### Import Data ```bash POST /icd/import ``` Imports ICD-9 and ICD-10 data from Excel files in the `test/` directory. ### Search Codes ```bash GET /icd/search?category=ICD10&search=diabetes&page=1&limit=10 ``` Search ICD codes with optional filters: - `category`: Filter by ICD9 or ICD10 - `search`: Search in code or display text - `page`: Page number (default: 1) - `limit`: Items per page (default: 10) ### Get Statistics ```bash GET /icd/statistics ``` Returns count statistics for ICD codes. ## Database Schema The application uses PostgreSQL with Prisma ORM. The ICD codes are stored in the `icd_codes` table with the following structure: ```sql CREATE TABLE "icd_codes" ( "id" TEXT PRIMARY KEY DEFAULT gen_random_uuid(), "code" TEXT UNIQUE NOT NULL, "display" TEXT NOT NULL, "version" TEXT NOT NULL, "category" TEXT NOT NULL, -- "ICD9" or "ICD10" "createdAt" TIMESTAMP DEFAULT NOW(), "updatedAt" TIMESTAMP DEFAULT NOW() ); ``` **ID Format**: The `id` field now uses UUID (Universal Unique Identifier) format like `550e8400-e29b-41d4-a716-446655440000` instead of CUID. ## Setup Instructions 1. **Install Dependencies** ```bash npm install ``` 2. **Database Setup** Create a `.env` file with your PostgreSQL connection: ```bash DATABASE_URL="postgresql://username:password@localhost:5432/claim_guard_db?schema=public" ``` 3. **Generate Prisma Client** ```bash npx prisma generate ``` 4. **Run Database Migrations** ```bash npx prisma db push ``` 5. **Place Excel Files** Ensure the following files are in the `test/` directory: - `[PUBLIC] ICD-9CM e-klaim.xlsx` - `[PUBLIC] ICD-10 e-klaim.xlsx` The Excel files should have at least 3 columns: - Column 1: Code - Column 2: Display/Description - Column 3: Version ## Project setup ```bash $ npm install ``` ## Compile and run the project ```bash # development $ npm run start # watch mode $ npm run start:dev # production mode $ npm run start:prod ``` ## Run tests ```bash # unit tests $ npm run test # e2e tests $ npm run test:e2e # test coverage $ npm run test:cov ``` ## Deployment When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information. If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps: ```bash $ npm install -g @nestjs/mau $ mau deploy ``` With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure. ## Resources Check out a few resources that may come in handy when working with NestJS: - Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. - For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). - To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/). - Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks. - Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com). - Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com). - To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs). - Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com). ## Support Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). ## Stay in touch - Author - [Kamil Myƛliwiec](https://twitter.com/kammysliwiec) - Website - [https://nestjs.com](https://nestjs.com/) - Twitter - [@nestframework](https://twitter.com/nestframework) ## License Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).