To automate the extraction, transformation, and loading (ETL) of healthcare data between systems while adhering to standards like HL7 FHIR and SNOMED CT.
Project Components
1. Extraction
Description:
Data retrieved from OpenEMR FHIR API and SNOMED CT API.
Key endpoints:
/Patient: To fetch patient details.
/Condition: To retrieve patient-specific medical conditions.
/concepts/{concept_id}/extended: For hierarchical relationships of concepts.
Tools Used: Python libraries (requests, json), OAuth 2.0 for authentication.
2. Transformation
Description:
Cleaned and standardized extracted data to meet the schema requirements of the Primary Care EHR.
Techniques included:
Mapping SNOMED concepts to parent and child terms.
Validating and formatting fields like dates, addresses, and identifiers.
Tools Used: Python for data manipulation and validation.
3. Loading
Description:
Data posted to the Primary Care EHR system via its FHIR-compliant API.
Automated tasks include:
Creating patient resources.
Associating conditions with parent and child SNOMED terms.
Tools Used: Python for API interaction and data posting.
Key Tasks
Task 1: Parent Concept Creation - Fetched and mapped parent terms from SNOMED CT.
Task 2: Child Concept Creation - Mapped child terms and posted as new conditions.
Task 3: Observation Posting - Manually formatted observation data in FHIR-compliant JSON.
Task 4: Medical Procedure Documentation - Posted procedures with necessary details.
Challenges & Resolutions
Endpoint Issues: Addressed with thorough testing and refining queries.
Schema Mismatches: Overcome using standardized templates.
Error Handling: Implemented robust validation for missing or incomplete data.
Technologies Used
APIs: HL7 FHIR, SNOMED CT.
Programming Language: Python.
Libraries:requests, json, datetime.
Standards: FHIR, SNOMED CT.
Project Insights
This project demonstrates how ETL processes can streamline healthcare data integration, ensuring compliance with industry standards and enhancing interoperability between systems.