Healthcare Data Interoperability and Standards
Module: Healthcare AI | Difficulty: Advanced
FHIR Resource
{
"resourceType": "Observation",
"status": "final",
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "2339-0",
"display": "Glucose"
}]
},
"valueQuantity": {
"value": 120,
"unit": "mg/dL"
}
}
Data Mapping Score
Interoperability Standards
| Standard | Scope | Complexity | Adoption | |----------|-------|------------|----------| | HL7 FHIR | Clinical data | Medium | High | | HL7 v2 | Messaging | High | Very High | | DICOM | Imaging | High | High | | ICD-10 | Diagnostics | Medium | Universal | | SNOMED CT | Clinical terms | High | Growing |
import json
import re
class FHIRParser:
def __init__(self):
self.supported_resources = [
'Patient', 'Observation', 'Condition',
'MedicationRequest', 'DiagnosticReport']
def parse_patient(self, fhir_patient):
return {
'id': fhir_patient.get('id'),
'name': self._extract_name(fhir_patient.get('name', [])),
'birth_date': fhir_patient.get('birthDate'),
'gender': fhir_patient.get('gender'),
'identifiers': self._extract_identifiers(
fhir_patient.get('identifier', []))
}
def _extract_name(self, names):
if not names:
return ''
name = names[0]
parts = name.get('given', []) + [name.get('family', '')]
return ' '.join(parts)
def _extract_identifiers(self, identifiers):
return {id_.get('system', 'unknown'): id_.get('value')
for id_ in identifiers}
def parse_observation(self, fhir_obs):
return {
'code': fhir_obs.get('code', {}).get('coding', [{}])[0].get('code'),
'value': fhir_obs.get('valueQuantity', {}).get('value'),
'unit': fhir_obs.get('valueQuantity', {}).get('unit'),
'status': fhir_obs.get('status')
}
class DataValidator:
def __init__(self):
self.required_fields = {
'Patient': ['id', 'name', 'birthDate'],
'Observation': ['code', 'status']}
def validate(self, resource_type, resource):
if resource_type not in self.required_fields:
return False, f'Unknown resource type: {resource_type}'
missing = [f for f in self.required_fields[resource_type]
if f not in resource]
if missing:
return False, f'Missing fields: {missing}'
return True, 'Valid'
parser = FHIRParser()
patient = {'id': '123', 'name': [{'given': ['John'], 'family': 'Doe'}],
'birthDate': '1990-01-01'}
parsed = parser.parse_patient(patient)
print(f'Parsed patient: {parsed}')
validator = DataValidator()
valid, msg = validator.validate('Patient', patient)
print(f'Validation: {valid} - {msg}')
Research Insight: Interoperability is the biggest barrier to deploying AI in healthcare. Most hospitals use different EHR systems with different data formats. FHIR (Fast Healthcare Interoperability Resources) is emerging as the standard for health data exchange, but adoption is uneven. AI models that can work with multiple data formats and automatically map between standards are essential for multi-site deployment.