Skip to main content
QMSQMS
QMS
  • Welcome to your QMS
  • Quality Manual
  • Procedures
    • GP-001 Control of documents
    • GP-002 Quality planning
    • GP-003 Audits
    • GP-004 Vigilance system
    • GP-005 Human Resources and Training
    • GP-006 Non-conformity, Corrective and Preventive actions
    • GP-007 Post-market surveillance
    • GP-008 Product requirements
    • GP-009 Sales
    • GP-010 Purchases and suppliers evaluation
    • GP-011 Provision of service
    • GP-012 Design, redesign and development
    • GP-013 Risk management
    • GP-014 Feedback and complaints
    • GP-015 Clinical evaluation
    • GP-016 Traceability and identification
    • GP-017 Technical assistance service
    • GP-018 Infrastructure and facilities
    • GP-019 Software validation plan
    • GP-020 QMS Data analysis
    • GP-021 Communications
    • GP-022 Document translation
    • GP-023 Change control management
    • GP-024 Predetermined Change Control Plan
    • GP-025 Usability and Human Factors Engineering
    • GP-027 Corporate Governance
    • GP-028 AI Development
    • GP-029 Software Delivery And Comissioning
    • GP-050 Data Protection
    • GP-051 Security violations
    • GP-052 Data Privacy Impact Assessment (DPIA)
    • GP-100 Business Continuity (BCP) and Disaster Recovery plans (DRP)
    • GP-101 Information security
    • GP-200 Remote Data Acquisition in Clinical Investigations
    • GP-026 Market-specific product requirements
    • GP-110 Esquema Nacional de Seguridad
      • ORG Marco organizativo
      • OP Marco operacional
        • OP.PL Planificación
        • OP.ACC Control de acceso
        • OP.EXP Explotación
        • OP.EXT Servicios externos
          • OP.EXT.1 Contratación y acuerdos de nivel de servicio
          • OP.EXT.2 Gestión diaria
          • OP.EXT.3 Protección de la cadena de suministro
        • OP.NUB Servicios en la nube
        • OP.CONT Continuidad del servicio
        • OP.MON Monitorización del sistema
      • MP Medidas de protección
      • Sin asignar
      • Real Decreto 311/2022, de 3 de mayo, por el que se regula el Esquema Nacional de Seguridad.
  • Records
  • Legit.Health Plus Version 1.1.0.0
  • Legit.Health Plus Version 1.1.0.1
  • Licenses and accreditations
  • Applicable Standards and Regulations
  • Public tenders
  • Procedures
  • GP-110 Esquema Nacional de Seguridad
  • OP Marco operacional
  • OP.EXT Servicios externos
  • OP.EXT.1 Contratación y acuerdos de nivel de servicio

OP.EXT.1 Contratación y acuerdos de nivel de servicio

☑️Aplicación de la medida

De acuerdo al ANEXO II, 2 Selección de medidas de seguridad, la medida de seguridad OP.EXT.1 Contratación y acuerdos de nivel de servicio sí aplica dada la categoría de seguridad del sistema.

Documentos de referencia​

  • ISO/IEC 27000:
    • 27002:2013:
      • 15.1.1 - Information security policy for supplier relationships
      • 15.1.2 - Addressing security within supplier agreements
      • 15.2.1 - Monitoring and review of supplier services
  • NIST SP 800-53 rev4:
    • [SA-9] External Information System Services
    • [SA-4] Acquisition Process
  • Otras referencias:
    • FDA Cybersecurity in Medical Devices: Quality System Considerations
    • MDR Regulation (EU) 2017/745 - Supply chain requirements
    • NIS2 Directive - Supply chain security

Guía de implantación​

  1. Se establecerán los mecanismos necesarios que permitan asegurar que los servicios prestados por terceros mantienen el nivel de seguridad requerido.

Incluirá al menos:

  • Procedimientos de análisis y gestión de riesgos de externalización
  • Procedimientos de selección y contratación de proveedores de servicios
  • Definición de acuerdos de nivel de servicio
  • Procedimientos de supervisión del cumplimiento de las cláusulas de seguridad

Implementación en Legit Health Plus​

1. Marco de gestión de proveedores médicos​

La gestión de servicios externos para Legit Health Plus requiere consideraciones específicas para dispositivos médicos, cumplimiento regulatorio y protección de datos clínicos.

1.1 Clasificación de servicios externos​

Servicios críticos (Nivel 1)​
Critical_Services:
Cloud_Infrastructure:
Provider: "Amazon Web Services"
Services: ["EC2", "RDS", "S3", "CloudFront"]
Impact: "Direct impact on patient diagnosis"
SLA_Requirements:
- Availability: "99.99%"
- Support: "24x7 Enterprise"
- Recovery: "RTO 15 min, RPO 1 min"

Medical_Certification:
Provider: "Notified Body (BSI/TUV)"
Services: ["CE Marking", "MDR Compliance"]
Impact: "Regulatory compliance"
SLA_Requirements:
- Response: "24 hours for critical issues"
- Expertise: "Medical device specialists"
- Availability: "Business hours + emergency"
Servicios importantes (Nivel 2)​
Important_Services:
Cybersecurity_SOC:
Provider: "CrowdStrike"
Services: ["Endpoint Protection", "Threat Intelligence"]
Impact: "Security monitoring and response"
SLA_Requirements:
- Detection: "Mean time 5 minutes"
- Response: "15 minutes for critical alerts"
- Coverage: "24x7x365"

Legal_Compliance:
Provider: "Healthcare Legal Firm"
Services: ["Regulatory advice", "Contract review"]
Impact: "Legal and regulatory compliance"
SLA_Requirements:
- Response: "4 hours for urgent matters"
- Expertise: "Medical device law specialists"

2. Proceso de selección y due diligence​

2.1 Evaluación inicial de proveedores​

class MedicalSupplierAssessment:
def __init__(self):
self.assessment_criteria = self.load_medical_supplier_criteria()
self.regulatory_requirements = self.load_regulatory_requirements()

def evaluate_supplier(self, supplier_data):
"""Evaluación completa de proveedor para servicios médicos"""
evaluation = {
'regulatory_compliance': self.assess_regulatory_compliance(supplier_data),
'security_posture': self.assess_security_capabilities(supplier_data),
'medical_expertise': self.assess_medical_domain_expertise(supplier_data),
'business_continuity': self.assess_business_continuity(supplier_data),
'financial_stability': self.assess_financial_stability(supplier_data),
'reference_validation': self.validate_medical_references(supplier_data)
}

# Calcular puntuación ponderada
weights = {
'regulatory_compliance': 0.25,
'security_posture': 0.20,
'medical_expertise': 0.20,
'business_continuity': 0.15,
'financial_stability': 0.10,
'reference_validation': 0.10
}

total_score = sum(evaluation[criteria] * weights[criteria]
for criteria in evaluation)

evaluation['total_score'] = total_score
evaluation['recommendation'] = self.generate_recommendation(total_score)

return evaluation

def assess_regulatory_compliance(self, supplier_data):
"""Evaluación de cumplimiento regulatorio"""
compliance_factors = {
'iso13485_certified': supplier_data.get('iso13485_cert', False),
'gdpr_compliant': supplier_data.get('gdpr_compliance', False),
'medical_device_experience': supplier_data.get('medical_device_clients', 0) > 5,
'regulatory_expertise': supplier_data.get('regulatory_team_size', 0) > 2,
'audit_trail_capability': supplier_data.get('audit_capabilities', False)
}

# Todos los factores regulatorios son obligatorios
if not all(compliance_factors.values()):
return 0.0 # Descalificación automática

return 10.0 # Máxima puntuación si cumple todos

2.2 Checklist de due diligence médica​

## Due Diligence Checklist - Proveedores Médicos

### A. Cumplimiento Regulatorio

- [ ] Certificación ISO 13485 (vigente)
- [ ] Experiencia con dispositivos médicos Clase II/III
- [ ] Conocimiento de MDR/IVDR (EU)
- [ ] Experiencia con FDA (si aplica)
- [ ] Cumplimiento GDPR/LOPD-GDD
- [ ] Políticas de retención de datos clínicos

### B. Seguridad y Ciberseguridad

- [ ] Certificación ISO 27001
- [ ] Evaluación de ciberseguridad (SOC 2 Type II)
- [ ] Plan de respuesta a incidentes
- [ ] Cifrado de datos en tránsito y en reposo
- [ ] Controles de acceso basados en roles
- [ ] Monitorización de seguridad 24x7

### C. Continuidad del Negocio

- [ ] Plan de continuidad de negocio documentado
- [ ] SLA de disponibilidad >= 99.9%
- [ ] Procedimientos de backup y recuperación
- [ ] Sitios alternativos de operación
- [ ] Seguro de responsabilidad civil (>= €2M)
- [ ] Plan de sucesión de personal clave

### D. Experiencia Médica

- [ ] Equipo especializado en dispositivos médicos
- [ ] Referencias verificables en el sector salud
- [ ] Conocimiento de flujos de trabajo clínicos
- [ ] Experiencia con datos de pacientes
- [ ] Formación en seguridad del paciente

3. Estructura de SLA para servicios médicos​

3.1 Template de SLA crítico​

Medical_SLA_Template:
Service_Definition:
Name: "AWS Cloud Infrastructure for Medical Device"
Scope: "All compute, storage, database services supporting diagnosis"
Classification: "Critical - Patient Safety Impact"

Availability_Requirements:
Uptime_SLA: "99.99% (4.38 minutes/month downtime)"
Planned_Maintenance: "<= 4 hours/month, scheduled 48h advance"
Emergency_Maintenance: "<= 30 minutes notification"
Measurement_Method: "End-to-end diagnosis service availability"

Performance_Requirements:
Response_Time: "API calls <= 2 seconds (95th percentile)"
Throughput: "Support >= 200 concurrent diagnosis sessions"
Data_Processing: "Image processing <= 30 seconds"
Database_Query: "Clinical data queries <= 100ms"

Security_Requirements:
Data_Encryption: "AES-256 minimum (at rest and in transit)"
Access_Control: "MFA mandatory for all privileged access"
Audit_Logging: "Complete audit trail, 7-year retention"
Incident_Response: "Security incidents escalation <= 15 minutes"

Support_Requirements:
Severity_1_Critical: "15 minutes response, 4 hours resolution target"
Severity_2_High: "1 hour response, 24 hours resolution target"
Severity_3_Medium: "4 hours response, 5 days resolution target"
Support_Hours: "24x7x365 for Severity 1-2"

Business_Continuity:
RTO: "15 minutes (automatic failover)"
RPO: "1 minute (continuous replication)"
Disaster_Recovery: "Multi-region backup, tested quarterly"
Data_Backup: "Daily incremental, weekly full, geographically distributed"

Compliance_Requirements:
Regulatory_Standards: ["ISO 13485", "MDR Article 17", "FDA 21 CFR 820"]
Audit_Rights: "Customer audit rights with 30 days notice"
Certification_Maintenance: "Valid certifications throughout contract"
Change_Management: "60 days notice for changes affecting compliance"

Penalties_and_Credits:
Availability_Penalty:
"99.95-99.99%": "5% monthly fee credit"
"99.90-99.94%": "10% monthly fee credit"
"<99.90%": "25% monthly fee credit + right to terminate"

Performance_Penalty:
"Response time >3 seconds": "2% monthly fee credit per day"
"Downtime >RTO": "10% monthly fee credit per hour"

Security_Incident_Penalty:
"Minor incident": "5% monthly fee credit"
"Major incident": "20% monthly fee credit"
"Data breach": "Contract termination right + damages"

4. Gestión de contratos y cláusulas clave​

4.1 Cláusulas específicas para dispositivos médicos​

## Cláusulas Contractuales Clave

### A. Protección de Datos Clínicos

**Cláusula de Confidencialidad Médica**
"El Proveedor reconoce que tendrá acceso a datos clínicos y de pacientes que constituyen información especialmente protegida bajo GDPR Art. 9. El Proveedor se compromete a:

- Implementar medidas técnicas y organizativas apropiadas (Art. 32 GDPR)
- Limitar el acceso solo al personal autorizado y necesario
- Notificar cualquier violación de datos en un plazo máximo de 4 horas
- Facilitar el ejercicio de derechos de los titulares de datos
- Eliminar o devolver todos los datos al finalizar el contrato"

### B. Cumplimiento Regulatorio

**Cláusula de Compliance Regulatorio**
"El Proveedor garantiza que sus servicios cumplen con:

- Medical Device Regulation (MDR) EU 2017/745
- FDA Quality System Regulation (21 CFR Part 820)
- ISO 13485:2016 para dispositivos médicos
- Directiva NIS2 para ciberseguridad
Cualquier cambio que afecte el cumplimiento debe notificarse con 90 días de antelación."

### C. Continuidad del Servicio

**Cláusula de Continuidad Médica**
"Reconociendo que los servicios soportan dispositivos médicos críticos para diagnóstico:

- El Proveedor mantendrá planes de continuidad que garanticen RTO ≤ 15 minutos
- Notificación inmediata (< 5 min) de cualquier interrupción
- Activación automática de sistemas de respaldo
- Coordinación con autoridades sanitarias si se requiere
- Indemnización por daños derivados de interrupciones evitables"

### D. Auditoría y Acceso

**Cláusula de Derechos de Auditoría**
"El Cliente, organismos notificados, y autoridades regulatorias tendrán derecho a:

- Auditar las instalaciones del Proveedor con 30 días de aviso
- Acceso a documentación relevante para cumplimiento
- Entrevistas con personal clave del Proveedor
- Verificación de controles de seguridad implementados
- Copia de certificaciones y evaluaciones de terceros"

5. Monitorización y supervisión continua​

5.1 Sistema de monitorización de proveedores​

class SupplierPerformanceMonitor:
def __init__(self):
self.sla_metrics = {}
self.compliance_checkers = {}
self.alert_thresholds = {}

def monitor_critical_supplier(self, supplier_id, service_type):
"""Monitorización continua de proveedor crítico"""
metrics = self.collect_supplier_metrics(supplier_id)

monitoring_results = {
'availability_check': self.check_availability_sla(metrics, supplier_id),
'performance_check': self.check_performance_sla(metrics, supplier_id),
'security_check': self.check_security_compliance(metrics, supplier_id),
'compliance_check': self.check_regulatory_compliance(supplier_id),
'financial_health': self.assess_supplier_financial_health(supplier_id)
}

# Generar alertas si es necesario
alerts = []
for check_name, result in monitoring_results.items():
if result['status'] == 'VIOLATION':
alerts.append(self.generate_sla_violation_alert(supplier_id, check_name, result))
elif result['status'] == 'WARNING':
alerts.append(self.generate_warning_alert(supplier_id, check_name, result))

# Actualizar dashboard de proveedores
self.update_supplier_dashboard(supplier_id, monitoring_results)

return {
'supplier_id': supplier_id,
'monitoring_results': monitoring_results,
'alerts_generated': alerts,
'overall_status': self.calculate_overall_supplier_status(monitoring_results)
}

def check_availability_sla(self, metrics, supplier_id):
"""Verificación de cumplimiento de SLA de disponibilidad"""
sla_target = self.get_sla_target(supplier_id, 'availability')
actual_availability = metrics.get('availability_percentage', 0)

if actual_availability < sla_target:
return {
'status': 'VIOLATION',
'sla_target': sla_target,
'actual_value': actual_availability,
'credit_applicable': self.calculate_sla_credit(supplier_id, 'availability', actual_availability),
'escalation_required': actual_availability < 99.5 # Escalación automática
}

return {'status': 'COMPLIANT', 'sla_target': sla_target, 'actual_value': actual_availability}

6. Gestión de riesgos de terceros​

6.1 Matriz de riesgos de externalización​

Outsourcing_Risk_Matrix:
High_Risk_Scenarios:
Data_Breach_by_Supplier:
Impact: "Critical - Patient data exposure"
Likelihood: "Low"
Mitigation:
- "Contractual liability clauses"
- "Insurance requirements (>= 5M EUR)"
- "Regular security audits"
- "Data minimization principles"

Supplier_Business_Failure:
Impact: "High - Service disruption"
Likelihood: "Medium"
Mitigation:
- "Financial health monitoring"
- "Escrow agreements for critical IP"
- "Alternative supplier pre-qualification"
- "Data portability guarantees"

Regulatory_Non_Compliance:
Impact: "Critical - Device certification loss"
Likelihood: "Medium"
Mitigation:
- "Compliance monitoring dashboard"
- "Regular compliance audits"
- "Change notification requirements"
- "Regulatory expertise validation"

7. Procedimientos de terminación y transición​

7.1 Plan de exit strategy​

Exit_Strategy_Framework:
Data_Recovery:
Timeline: "Complete data extraction within 30 days"
Format: "Standard formats (CSV, JSON, SQL) + proprietary formats"
Validation: "Data integrity verification required"
Secure_Deletion: "Certified deletion within 60 days"

Service_Transition:
Overlap_Period: "Minimum 90 days with alternative supplier"
Knowledge_Transfer: "Complete documentation + training sessions"
Configuration_Export: "All settings, customizations documented"
Testing_Period: "30 days parallel operation"

Regulatory_Continuity:
Certification_Transfer: "Support for certification maintenance"
Audit_Trail_Preservation: "7 years minimum retention"
Authority_Notification: "Joint notification to regulatory bodies"

8. Referencias cruzadas​

  • OP.EXT.2: Gestión diaria de proveedores
  • OP.EXT.3: Protección de cadena de suministro
  • R-TF-013-002: Riesgos asociados a terceros
  • GP-013: Marco de ciberseguridad aplicado a terceros
  • T-024-007: Procedimiento de gestión de proveedores

Signature meaning

The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix of the GP-001, are:

  • Author: Team members involved
  • Reviewer: JD-003, JD-004
  • Approver: JD-001
Previous
OP.EXT Servicios externos
Next
OP.EXT.2 Gestión diaria
  • Documentos de referencia
  • Guía de implantación
  • Implementación en Legit Health Plus
    • 1. Marco de gestión de proveedores médicos
      • 1.1 Clasificación de servicios externos
        • Servicios críticos (Nivel 1)
        • Servicios importantes (Nivel 2)
    • 2. Proceso de selección y due diligence
      • 2.1 Evaluación inicial de proveedores
      • 2.2 Checklist de due diligence médica
    • 3. Estructura de SLA para servicios médicos
      • 3.1 Template de SLA crítico
    • 4. Gestión de contratos y cláusulas clave
      • 4.1 Cláusulas específicas para dispositivos médicos
    • 5. Monitorización y supervisión continua
      • 5.1 Sistema de monitorización de proveedores
    • 6. Gestión de riesgos de terceros
      • 6.1 Matriz de riesgos de externalización
    • 7. Procedimientos de terminación y transición
      • 7.1 Plan de exit strategy
    • 8. Referencias cruzadas
All the information contained in this QMS is confidential. The recipient agrees not to transmit or reproduce the information, neither by himself nor by third parties, through whichever means, without obtaining the prior written permission of Legit.Health (AI LABS GROUP S.L.)