This project provides a FastAPI-based API to integrate and map healthcare terminologies from WHO ICD-11 and the Indian NAMASTE system. It also supports generating FHIR resources.
- Search: Search for terms across ICD-11 and NAMASTE.
- Mapping: Map NAMASTE terms to ICD-11 classifications with similarity scoring.
- FHIR Conversion: Generate FHIR Condition resources from mapped terms.
- Bulk Mapping: Process multiple term mappings concurrently.
- Terminology System Information: Get details about supported terminology systems.
healthcare_api_project/ ├── app/ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ ├── api/ │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ ├── endpoints/ # API route handlers │ │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ │ └── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ │ └── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ ├── models/ # Pydantic data models │ │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ │ └── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ └── services/ # Business logic and external integrations │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ └── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ ├── core/ # Core configurations and utilities │ │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ │ └── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ └── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip # FastAPI application entry point ├── data/ # Local data files (e.g., for NAMASTE) │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ └── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip ├── tests/ # Unit and integration tests │ ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip │ └── ... ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip # Environment variable configuration template ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip # Docker Compose for running services ├── Dockerfile # Dockerfile for building the API image ├── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip # Python dependencies └── https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip # This file
-
Clone the repository:
git clone <your-repository-url> cd healthcare_api_project
-
Create a
.envfile: Copy thehttps://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zipfile and rename it to.env.cp https://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zip .env
Edit the
.envfile to add your ICD-11 API credentials and any other necessary configurations. -
Build and Run with Docker Compose:
docker-compose up --build
This command will build the Docker image for the API and start the application.
- Root:
GET / - Health Check:
GET /health - Search:
GET /api/v1/search?q=<query>&source=<namaste|icd11|both>&ayush_system=<system> - Map Terminology:
POST /api/v1/map?namaste_id=<id>&include_fhir=<true|false> - FHIR Condition:
GET /api/v1/fhir/condition?namaste_id=<id>&patient_id=<patient_id> - Bulk Map Terms:
POST /api/v1/bulk-map?terms=<term1>&terms=<term2>...(pass multipletermsquery parameters) - Terminology Systems:
GET /api/v1/terminology-systems
- NAMASTE Data: The
NAMASTEServicecurrently reads from a localhttps://raw.githubusercontent.com/Amrit7679/Namaste-api/main/app/api_Namaste_2.3.zipfile. Ensure this file is populated with relevant data. - ICD-11 API Credentials: You must obtain and set
ICD11_CLIENT_IDandICD11_CLIENT_SECRETin your.envfile for the ICD-11 integration to work. - Error Handling: Basic error handling is implemented, but can be further enhanced.
- Logging: Logging is configured to
INFOlevel by default.