Drug-Indication Microservice Development
Budget: $250 – $750 USD
Develop a microservice-based application that extracts drug indications from DailyMed drug labels, maps them to standardized medical vocabulary (ICD-10 codes), and provides a queryable API. The implementation must be in .NET Web API and follow enterprise-grade software principles, including:
● Test-Driven Development (TDD)
● Clean Architecture (separation of concerns, layered design)
● High Code Quality (readability, maintainability, modularity)
● Scalability & Performance Considerations
● Dockerized Deployment (with docker-compose for execution)
Additionally, there is a JSON document dupixent.json. It contains details about the Dupixent MyWay Copay Card. The JSON has a mix of structured and free-text eligibility details.
Requirements
1. Core Features
Data Extraction
● Scrape or parse DailyMed drug labels for Dupixent.
○ Extract relevant sections describing indications.
● Parse the MyWay Copay Card
○ Extract structured information
○ Infer missing details using rule-based transformations or generative AI
○ Standardize the format according to the example output included in this document
Indication Processing & Mapping
● Map extracted indications to ICD-10 codes using an open-source dataset.
● Handle edge cases like:
○ Synonyms (e.g., "Hypertension" vs. "High Blood Pressure").
○ Drugs with multiple indications.
○ Unmappable conditions.
Eligibility Processing & Mapping
● Use generative AI to parse and summarize the EligibilityDetails text field into structured requirements.
● Convert free-text eligibility conditions into structured JSON key-value pairs.
Structured Data Output
● Store structured drug-indication mappings in a database or NoSQL store.
● Make mappings queryable via an API.
2. Enterprise-Grade API
● Develop a Web API using .NET (C#), Python (FastAPI/Flask), or Node.js (Express/NestJS).
● Implement CRUD operations:
○ Create, read, update, and delete drug-indication mappings.
● Authentication & Authorization
○ Users should be able to register and log in.
○ Implement role-based access control.
● Include Swagger or Postman workspace for API testing.
● Ensure consistent data types (e.g., true/false, numbers as strings).
● Implement validation rules for missing or ambiguous data.
● Provides an endpoint (/programs/<program_id>) returning structured JSON.
● Supports querying program details dynamically.
3. Data & Storage Layer
● Use a database (SQL or NoSQL) to store:
○ Drug-indication mappings
○ User authentication data
● DO NOT use Entity Framework, Dapper, or Mediator in .NET implementations.
4. Business Logic Layer
● Keep business rules independent of the API and data layers.
● Implement validation logic for incoming data.
5. Testing & Quality
● Follow TDD: write unit tests before implementation.
● Cover:
○ Data extraction and processing logic.
○ API endpoints.
○ Business rules.
○ Authentication flows.
● Ensure high test coverage.
Deliverables
1. GitHub Repository containing:
○ Source code for the full project.
○ Unit tests for API, business logic, and data handling.
○ README.md with detailed setup and execution instructions.
2. README.md must include:
○ Step-by-step setup for running the project.
○ API documentation.
○ Sample output of the system.
○ Scalability considerations.
○ Potential improvements & production challenges.
3. Dockerized Deployment
○ Project must be runnable using docker-compose up as the only setup step.
● Test-Driven Development (TDD)
● Clean Architecture (separation of concerns, layered design)
● High Code Quality (readability, maintainability, modularity)
● Scalability & Performance Considerations
● Dockerized Deployment (with docker-compose for execution)
Additionally, there is a JSON document dupixent.json. It contains details about the Dupixent MyWay Copay Card. The JSON has a mix of structured and free-text eligibility details.
Requirements
1. Core Features
Data Extraction
● Scrape or parse DailyMed drug labels for Dupixent.
○ Extract relevant sections describing indications.
● Parse the MyWay Copay Card
○ Extract structured information
○ Infer missing details using rule-based transformations or generative AI
○ Standardize the format according to the example output included in this document
Indication Processing & Mapping
● Map extracted indications to ICD-10 codes using an open-source dataset.
● Handle edge cases like:
○ Synonyms (e.g., "Hypertension" vs. "High Blood Pressure").
○ Drugs with multiple indications.
○ Unmappable conditions.
Eligibility Processing & Mapping
● Use generative AI to parse and summarize the EligibilityDetails text field into structured requirements.
● Convert free-text eligibility conditions into structured JSON key-value pairs.
Structured Data Output
● Store structured drug-indication mappings in a database or NoSQL store.
● Make mappings queryable via an API.
2. Enterprise-Grade API
● Develop a Web API using .NET (C#), Python (FastAPI/Flask), or Node.js (Express/NestJS).
● Implement CRUD operations:
○ Create, read, update, and delete drug-indication mappings.
● Authentication & Authorization
○ Users should be able to register and log in.
○ Implement role-based access control.
● Include Swagger or Postman workspace for API testing.
● Ensure consistent data types (e.g., true/false, numbers as strings).
● Implement validation rules for missing or ambiguous data.
● Provides an endpoint (/programs/<program_id>) returning structured JSON.
● Supports querying program details dynamically.
3. Data & Storage Layer
● Use a database (SQL or NoSQL) to store:
○ Drug-indication mappings
○ User authentication data
● DO NOT use Entity Framework, Dapper, or Mediator in .NET implementations.
4. Business Logic Layer
● Keep business rules independent of the API and data layers.
● Implement validation logic for incoming data.
5. Testing & Quality
● Follow TDD: write unit tests before implementation.
● Cover:
○ Data extraction and processing logic.
○ API endpoints.
○ Business rules.
○ Authentication flows.
● Ensure high test coverage.
Deliverables
1. GitHub Repository containing:
○ Source code for the full project.
○ Unit tests for API, business logic, and data handling.
○ README.md with detailed setup and execution instructions.
2. README.md must include:
○ Step-by-step setup for running the project.
○ API documentation.
○ Sample output of the system.
○ Scalability considerations.
○ Potential improvements & production challenges.
3. Dockerized Deployment
○ Project must be runnable using docker-compose up as the only setup step.