Med Simplify – Clinical Text to FHIR Graph Generator
Inspiration
Healthcare data is notoriously messy. Doctors write unstructured notes filled with shorthand, abbreviations, and inconsistencies, making it difficult for systems to consume or exchange this information.
Med Simplify aims to bridge this gap by converting raw medical notes into clean, interoperable data and visualizing them meaningfully.
What it does
Med Simplify is a GenAI-powered Streamlit application that:
- Summarizes medical notes – Converts unstructured clinical text into structured summaries.
- Transforms summaries into FHIR resources – Ensuring interoperability using healthcare’s most common standard.
- Validates both summary & FHIR output – Using embeddings and cosine similarity for confidence scoring.
- Generates knowledge graphs – Inserting FHIR data into Neo4j and visualizing relationships between medical entities.
How I built it
Summarization-Summary_code.py:
Used ChatOpenAI (via LangChain) with carefully designed prompts HumanMessage to turn raw notes into clear summaries.FHIR Conversion-Summary_to_FHIR.py:
Transformed summaries into FHIR-compliant JSON using LLM prompting.Validation:
- Summary Validation-Validating_summary.py: Compared generated vs. reference summaries using OpenAIEmbeddings and cosine similarity from scipy.
- FHIR Validation-Validating_FHIR.py: Converted FHIR back into text fhir_to_text and checked consistency with the original summary.
- Summary Validation-Validating_summary.py: Compared generated vs. reference summaries using OpenAIEmbeddings and cosine similarity from scipy.
Graph Generation-insert_and_visualize_graph.py:
Inserted FHIR resources into Neo4j using Cypher queries.
Visualized the relationships using NetworkX and Matplotlib.Streamlit App-app.py:
Built a unified UI that handles uploads, summarization, FHIR conversion, validation, and graph visualization seamlessly.
Challenges I ran into
- Making all the modules integrate properly in Streamlit.
- Debugging issues between LLM outputs, JSON formatting for FHIR, and graph insertion.
- Designing validation that is meaningful, not just "LLM says it’s fine."
Accomplishments I’m proud of
- Successfully integrated GenAI + FHIR + Neo4j + Streamlit into a single application.
- Completed the project independently, from concept to deployment.
- Built not just a demo, but a scalable pipeline.
What I learned
- How to work with GenAI in healthcare contexts.
- The importance of FHIR standards for interoperability.
- Hands-on experience with graph databases (Neo4j) and visualization.
- Crafting better LLM prompts to ensure reliable outputs.
What’s next for Med Simplify
- Scalability – Larger datasets and integration with hospital EHR systems.
- Improved validation – Medical domain–specific checks beyond cosine similarity.
- Deployment – Cloud deployment for real-world testing.
- Extensions – Multi-language support and specialty-specific customizations.
Log in or sign up for Devpost to join the conversation.