Compare commits
18 Commits
864d7c4cd4
...
No-6-Month
| Author | SHA1 | Date | |
|---|---|---|---|
| a1985741f8 | |||
| 9ff3595a17 | |||
| 13e794eb34 | |||
| e58f867bd0 | |||
| 57540d5159 | |||
| d6943faf59 | |||
| 8562c45f05 | |||
| 1cc2c754b7 | |||
| cffbd7e8fa | |||
| d83291831c | |||
| 0e842eb0fb | |||
| 8478604103 | |||
| 57821a06cc | |||
| 664dd7f2a0 | |||
| 8922cdc54b | |||
| 84d45502de | |||
| 212e73330c | |||
| 33ef399500 |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -195,3 +195,9 @@ Endobest Reporting/
|
||||
jsons history/
|
||||
nul
|
||||
|
||||
# Ignore all json, exe, log and xlsx files
|
||||
*.json
|
||||
*.exe
|
||||
*.log
|
||||
/*.xlsx
|
||||
!eb_org_center_mapping.xlsx
|
||||
BIN
config/Endobest_Dashboard_Config-new.xlsx
Normal file
BIN
config/Endobest_Dashboard_Config-new.xlsx
Normal file
Binary file not shown.
Binary file not shown.
BIN
config/eb_dashboard_extended_template-new.xlsx
Normal file
BIN
config/eb_dashboard_extended_template-new.xlsx
Normal file
Binary file not shown.
@@ -1,2 +0,0 @@
|
||||
2025-12-15 18:29:35,069 - WARNING - Error in get_record_by_patient_id (Attempt 1/10): Client error '400 Bad Request' for url 'https://api-hcp.ziwig-connect.com/api/records/byPatient'
|
||||
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
|
||||
BIN
eb_dashboard.exe
BIN
eb_dashboard.exe
Binary file not shown.
174
eb_dashboard.py
174
eb_dashboard.py
@@ -6,7 +6,7 @@
|
||||
# containing all patient data, with 100% configurable fields defined in an Excel configuration file. All fields (patient
|
||||
# identification, inclusion data, clinical records, test requests, and questionnaire responses) are externalized and can be
|
||||
# configured without any code modification. The configuration supports multiple data sources (questionnaires, records,
|
||||
# inclusions, requests), custom functions for business logic (conditional fields, data transformations, pattern matching),
|
||||
# inclusions, requests, visits), custom functions for business logic (conditional fields, data transformations, pattern matching),
|
||||
# field dependencies and conditions, value transformations (labels, templates), and multi-line field definitions for complex
|
||||
# calculations. Organization names are enriched with center identifiers using a configurable mapping table, enabling seamless
|
||||
# integration with center-based reporting workflows. It employs multithreading with configurable worker pools to parallelize
|
||||
@@ -56,6 +56,8 @@ from eb_dashboard_constants import (
|
||||
GDD_URL,
|
||||
ERROR_MAX_RETRY,
|
||||
WAIT_BEFORE_RETRY,
|
||||
WAIT_BEFORE_NEW_BATCH_OF_RETRIES,
|
||||
MAX_BATCHS_OF_RETRIES,
|
||||
MAX_THREADS,
|
||||
RC_ENDOBEST_PROTOCOL_ID,
|
||||
RC_ENDOBEST_EXCLUDED_CENTERS,
|
||||
@@ -73,6 +75,7 @@ from eb_dashboard_constants import (
|
||||
API_RC_SEARCH_INCLUSIONS_ENDPOINT,
|
||||
API_RC_GET_RECORD_BY_PATIENT_ENDPOINT,
|
||||
API_RC_GET_SURVEYS_ENDPOINT,
|
||||
API_RC_SEARCH_VISITS_ENDPOINT,
|
||||
API_GDD_GET_REQUEST_BY_TUBE_ID_ENDPOINT
|
||||
)
|
||||
|
||||
@@ -80,8 +83,11 @@ from eb_dashboard_constants import (
|
||||
from eb_dashboard_utils import (
|
||||
get_nested_value,
|
||||
get_httpx_client,
|
||||
clear_httpx_client,
|
||||
get_thread_position,
|
||||
get_config_path
|
||||
get_config_path,
|
||||
thread_local_storage,
|
||||
run_with_context
|
||||
)
|
||||
from eb_dashboard_quality_checks import (
|
||||
backup_output_files,
|
||||
@@ -115,6 +121,7 @@ _token_refresh_lock = threading.Lock()
|
||||
_threads_list_lock = threading.Lock()
|
||||
global_pbar = None
|
||||
_global_pbar_lock = threading.Lock()
|
||||
_user_interaction_lock = threading.Lock()
|
||||
|
||||
# Global variables (mutable, set at runtime - not constants)
|
||||
inclusions_mapping_config = []
|
||||
@@ -171,9 +178,11 @@ def new_token():
|
||||
return
|
||||
except httpx.RequestError as exc:
|
||||
logging.warning(f"Refresh Token Error (Attempt {attempt + 1}) : {exc}")
|
||||
clear_httpx_client()
|
||||
except httpx.HTTPStatusError as exc:
|
||||
logging.warning(
|
||||
f"Refresh Token Error (Attempt {attempt + 1}) : {exc.response.status_code} for Url {exc.request.url}")
|
||||
clear_httpx_client()
|
||||
finally:
|
||||
if attempt < ERROR_MAX_RETRY - 1:
|
||||
sleep(WAIT_BEFORE_RETRY)
|
||||
@@ -186,19 +195,62 @@ def api_call_with_retry(func):
|
||||
@functools.wraps(func)
|
||||
def wrapper(*args, **kwargs):
|
||||
func_name = func.__name__
|
||||
for attempt in range(ERROR_MAX_RETRY):
|
||||
try:
|
||||
return func(*args, **kwargs)
|
||||
except (httpx.RequestError, httpx.HTTPStatusError) as exc:
|
||||
logging.warning(f"Error in {func_name} (Attempt {attempt + 1}/{ERROR_MAX_RETRY}): {exc}")
|
||||
if isinstance(exc, httpx.HTTPStatusError) and exc.response.status_code == 401:
|
||||
logging.info(f"Token expired for {func_name}. Refreshing token.")
|
||||
new_token()
|
||||
if attempt < ERROR_MAX_RETRY - 1:
|
||||
sleep(WAIT_BEFORE_RETRY)
|
||||
|
||||
logging.critical(f"Persistent error in {func_name} after {ERROR_MAX_RETRY} attempts.")
|
||||
raise httpx.RequestError(message=f"Persistent error in {func_name}")
|
||||
total_attempts = 0
|
||||
batch_count = 1
|
||||
|
||||
while True:
|
||||
for attempt in range(ERROR_MAX_RETRY):
|
||||
total_attempts += 1
|
||||
try:
|
||||
return func(*args, **kwargs)
|
||||
except (httpx.RequestError, httpx.HTTPStatusError) as exc:
|
||||
logging.warning(f"Error in {func_name} (Attempt {total_attempts}): {exc}")
|
||||
|
||||
# Refresh the thread-local client if an error occurs
|
||||
# to avoid potential pool corruption or stale connections
|
||||
clear_httpx_client()
|
||||
|
||||
if isinstance(exc, httpx.HTTPStatusError) and exc.response.status_code == 401:
|
||||
logging.info(f"Token expired for {func_name}. Refreshing token.")
|
||||
new_token()
|
||||
|
||||
if attempt < ERROR_MAX_RETRY - 1:
|
||||
sleep(WAIT_BEFORE_RETRY)
|
||||
else:
|
||||
# Max retries reached for this batch
|
||||
if batch_count < MAX_BATCHS_OF_RETRIES:
|
||||
logging.warning(f"Batch {batch_count}/{MAX_BATCHS_OF_RETRIES} failed for {func_name}. "
|
||||
f"Waiting {WAIT_BEFORE_NEW_BATCH_OF_RETRIES}s before automatic retry batch.")
|
||||
batch_count += 1
|
||||
sleep(WAIT_BEFORE_NEW_BATCH_OF_RETRIES)
|
||||
break # Exit for loop to restart batch in while True
|
||||
else:
|
||||
# All automatic batches exhausted, ask the user
|
||||
with _user_interaction_lock:
|
||||
console.print(f"\n[bold red]Persistent error in {func_name} after {batch_count} batches ({total_attempts} attempts).[/bold red]")
|
||||
console.print(f"[red]Exception: {exc}[/red]")
|
||||
|
||||
choice = questionary.select(
|
||||
f"What would you like to do for {func_name}?",
|
||||
choices=[
|
||||
"Retry (try another batch of retries)",
|
||||
"Ignore (return None and continue)",
|
||||
"Stop script (critical error)"
|
||||
]
|
||||
).ask()
|
||||
|
||||
if choice == "Retry (try another batch of retries)":
|
||||
logging.info(f"User chose to retry {func_name}. Restarting batch sequence.")
|
||||
batch_count = 1 # Reset batch counter for the next interactive round
|
||||
break # Exit for loop to restart batch in while True
|
||||
elif choice == "Ignore (return None and continue)":
|
||||
# Retrieve context if available
|
||||
ctx = getattr(thread_local_storage, "current_patient_context", {"id": "Unknown", "pseudo": "Unknown"})
|
||||
logging.warning(f"[IGNORE] User opted to skip {func_name} for Patient {ctx['id']} ({ctx['pseudo']}). Error: {exc}")
|
||||
return None
|
||||
else:
|
||||
logging.critical(f"User chose to stop script after persistent error in {func_name}.")
|
||||
raise httpx.RequestError(message=f"Persistent error in {func_name} (stopped by user)")
|
||||
|
||||
return wrapper
|
||||
|
||||
@@ -347,6 +399,9 @@ def load_inclusions_mapping_config():
|
||||
elif source_id_raw == "request":
|
||||
field_config["source_type"] = "request"
|
||||
field_config["source_value"] = None
|
||||
elif source_id_raw == "6_month_visit":
|
||||
field_config["source_type"] = "6_month_visit"
|
||||
field_config["source_value"] = None
|
||||
else:
|
||||
field_config["source_type"] = None
|
||||
field_config["source_value"] = source_id_raw
|
||||
@@ -442,23 +497,29 @@ def load_organizations_mapping_config():
|
||||
|
||||
def _find_questionnaire_by_id(qcm_dict, qcm_id):
|
||||
"""Finds a questionnaire by ID (direct dictionary lookup)."""
|
||||
if not isinstance(qcm_dict, dict):
|
||||
return None
|
||||
qcm_data = qcm_dict.get(qcm_id)
|
||||
return qcm_data.get("answers") if qcm_data else None
|
||||
|
||||
|
||||
def _find_questionnaire_by_name(qcm_dict, name):
|
||||
"""Finds a questionnaire by name (sequential search, returns first match)."""
|
||||
for qcm_data in qcm_dict.values():
|
||||
if get_nested_value(qcm_data, ["questionnaire", "name"]) == name:
|
||||
return qcm_data.get("answers")
|
||||
if not isinstance(qcm_dict, dict):
|
||||
return None
|
||||
for qcm in qcm_dict.values():
|
||||
if get_nested_value(qcm, ["questionnaire", "name"]) == name:
|
||||
return qcm.get("answers")
|
||||
return None
|
||||
|
||||
|
||||
def _find_questionnaire_by_category(qcm_dict, category):
|
||||
"""Finds a questionnaire by category (sequential search, returns first match)."""
|
||||
for qcm_data in qcm_dict.values():
|
||||
if get_nested_value(qcm_data, ["questionnaire", "category"]) == category:
|
||||
return qcm_data.get("answers")
|
||||
if not isinstance(qcm_dict, dict):
|
||||
return None
|
||||
for qcm in qcm_dict.values():
|
||||
if get_nested_value(qcm, ["questionnaire", "category"]) == category:
|
||||
return qcm.get("answers")
|
||||
return None
|
||||
|
||||
|
||||
@@ -684,7 +745,7 @@ def _execute_custom_function(function_name, args, output_inclusion):
|
||||
return f"$$$$ Unknown Custom Function: {function_name}"
|
||||
|
||||
|
||||
def process_inclusions_mapping(output_inclusion, inclusion_data, record_data, request_data, all_questionnaires):
|
||||
def process_inclusions_mapping(output_inclusion, inclusion_data, record_data, request_data, all_questionnaires, six_month_visit_data):
|
||||
"""Processes and adds the inclusions mapping fields to the inclusion dictionary."""
|
||||
for field in inclusions_mapping_config:
|
||||
field_name = field["field_name"]
|
||||
@@ -722,9 +783,18 @@ def process_inclusions_mapping(output_inclusion, inclusion_data, record_data, re
|
||||
final_value = get_nested_value(inclusion_data, field_path, default="undefined")
|
||||
elif source_type == "request":
|
||||
final_value = get_nested_value(request_data, field_path, default="undefined")
|
||||
elif source_type == "6_month_visit":
|
||||
final_value = get_nested_value(six_month_visit_data, field_path, default="undefined")
|
||||
else:
|
||||
final_value = f"$$$$ Unknown Source Type: {source_type}"
|
||||
|
||||
# If the source data itself is missing (e.g., 6-month visit not created), log a warning but continue
|
||||
if final_value == "$$$$ No Data":
|
||||
patient_id = inclusion_data.get("id", "Unknown")
|
||||
pseudo = inclusion_data.get("pseudo", "Unknown")
|
||||
logging.warning(f"No '{source_type}' data source found for Patient {patient_id} / {pseudo} (Field: {field_name})")
|
||||
final_value = "undefined"
|
||||
|
||||
# Post-processing: Apply true_if_any and value_labels transformations (for all sources)
|
||||
if final_value not in ["undefined", "$$$$ No Data"]:
|
||||
# Check if any value matches
|
||||
@@ -843,6 +913,24 @@ def get_request_by_tube_id(tube_id):
|
||||
return response.json()
|
||||
|
||||
|
||||
@api_call_with_retry
|
||||
def search_visit_by_pseudo_and_order(pseudo, order):
|
||||
"""Searches for a visit by patient pseudo and visit order."""
|
||||
client = get_httpx_client()
|
||||
client.base_url = RC_URL
|
||||
response = client.post(API_RC_SEARCH_VISITS_ENDPOINT,
|
||||
headers={"Authorization": f"Bearer {access_token}"},
|
||||
json={"visitOrder": order, "keywords": pseudo},
|
||||
timeout=API_TIMEOUT)
|
||||
response.raise_for_status()
|
||||
resp_json = response.json()
|
||||
if isinstance(resp_json, dict):
|
||||
data = resp_json.get("data")
|
||||
if isinstance(data, list) and len(data) > 0:
|
||||
return data[0]
|
||||
return None
|
||||
|
||||
|
||||
@api_call_with_retry
|
||||
def get_all_questionnaires_by_patient(patient_id, record_data):
|
||||
"""Fetches all questionnaires for a patient with a single API call."""
|
||||
@@ -855,8 +943,15 @@ def get_all_questionnaires_by_patient(patient_id, record_data):
|
||||
}
|
||||
|
||||
# Extract blockedQcmVersions from record (same logic as get_questionnaire_answers)
|
||||
all_blocked_versions = get_nested_value(record_data, path=["record", "protocol_inclusions", 0, "blockedQcmVersions"],
|
||||
default=[])
|
||||
if record_data is None:
|
||||
all_blocked_versions = []
|
||||
else:
|
||||
all_blocked_versions = get_nested_value(record_data, path=["record", "protocol_inclusions", 0, "blockedQcmVersions"],
|
||||
default=[])
|
||||
# Ensure it's a list even if get_nested_value returns "$$$$ No Data"
|
||||
if all_blocked_versions == "$$$$ No Data":
|
||||
all_blocked_versions = []
|
||||
|
||||
if all_blocked_versions:
|
||||
payload["blockedQcmVersions"] = all_blocked_versions
|
||||
|
||||
@@ -1030,33 +1125,46 @@ def _process_inclusion_data(inclusion, organization):
|
||||
"""Processes a single inclusion record and returns a dictionary."""
|
||||
organization_id = organization["id"]
|
||||
patient_id = get_nested_value(inclusion, path=["id"])
|
||||
pseudo = get_nested_value(inclusion, path=["pseudo"], default="Unknown")
|
||||
|
||||
# Set thread-local context for detailed error logging in decorators
|
||||
ctx = {"id": patient_id, "pseudo": pseudo}
|
||||
thread_local_storage.current_patient_context = ctx
|
||||
|
||||
# Initialize empty output structure
|
||||
output_inclusion = {}
|
||||
|
||||
# --- Prepare all data sources ---
|
||||
# Prepare inclusion_data: enrich inclusion with organization info
|
||||
# 1. 6-month visit loading disabled on this branch (No-6-Month-Visit)
|
||||
# visit_future = subtasks_thread_pool.submit(run_with_context, search_visit_by_pseudo_and_order, ctx, pseudo, 2)
|
||||
|
||||
# 2. Prepare inclusion_data: enrich inclusion with organization info
|
||||
inclusion_data = dict(inclusion)
|
||||
inclusion_data["organization_id"] = organization_id
|
||||
inclusion_data["organization_name"] = organization["name"]
|
||||
if "Center_Name" in organization:
|
||||
inclusion_data["center_name"] = organization["Center_Name"]
|
||||
|
||||
# Prepare record_data
|
||||
# 3. Prepare record_data (sequential as it's often needed for questionnaires)
|
||||
record_data = get_record_by_patient_id(patient_id, organization_id)
|
||||
|
||||
# Get tube_id for request
|
||||
# 4. Get tube_id for request and launch in parallel with questionnaires
|
||||
tube_id = get_nested_value(record_data, path=["record", "clinicResearchData", 0, "requestMetaData", "tubeId"], default="undefined")
|
||||
|
||||
# Launch in parallel: request and questionnaires
|
||||
request_future = subtasks_thread_pool.submit(get_request_by_tube_id, tube_id)
|
||||
request_future = subtasks_thread_pool.submit(run_with_context, get_request_by_tube_id, ctx, tube_id)
|
||||
all_questionnaires = get_all_questionnaires_by_patient(patient_id, record_data)
|
||||
|
||||
# Wait for request to complete
|
||||
request_data = request_future.result()
|
||||
# --- Synchronize all asynchronous tasks ---
|
||||
try:
|
||||
request_data = request_future.result()
|
||||
except Exception as e:
|
||||
logging.error(f"Error fetching request data for patient {patient_id}: {e}")
|
||||
request_data = None
|
||||
|
||||
# 6-month visit loading disabled on this branch (No-6-Month-Visit)
|
||||
six_month_visit_data = None
|
||||
|
||||
# --- Process all fields from configuration ---
|
||||
process_inclusions_mapping(output_inclusion, inclusion_data, record_data, request_data, all_questionnaires)
|
||||
process_inclusions_mapping(output_inclusion, inclusion_data, record_data, request_data, all_questionnaires, six_month_visit_data)
|
||||
|
||||
return output_inclusion
|
||||
|
||||
|
||||
@@ -81,6 +81,7 @@ API_RC_INCLUSION_STATISTICS_ENDPOINT = "/api/inclusions/inclusion-statistics"
|
||||
API_RC_SEARCH_INCLUSIONS_ENDPOINT = "/api/inclusions/search"
|
||||
API_RC_GET_RECORD_BY_PATIENT_ENDPOINT = "/api/records/byPatient"
|
||||
API_RC_GET_SURVEYS_ENDPOINT = "/api/surveys/filter/with-answers"
|
||||
API_RC_SEARCH_VISITS_ENDPOINT = "/api/visits/visits/search"
|
||||
|
||||
# GDD (Lab/Diagnostic) endpoints
|
||||
API_GDD_GET_REQUEST_BY_TUBE_ID_ENDPOINT = "/api/requests/by-tube-id"
|
||||
@@ -90,8 +91,10 @@ API_GDD_GET_REQUEST_BY_TUBE_ID_ENDPOINT = "/api/requests/by-tube-id"
|
||||
# ============================================================================
|
||||
|
||||
ERROR_MAX_RETRY = 10
|
||||
WAIT_BEFORE_RETRY = 0.5
|
||||
MAX_THREADS = 20
|
||||
WAIT_BEFORE_RETRY = 1
|
||||
WAIT_BEFORE_NEW_BATCH_OF_RETRIES = 20
|
||||
MAX_BATCHS_OF_RETRIES = 3
|
||||
MAX_THREADS = 40
|
||||
|
||||
# Excel operation retry parameters (for handling transient xlwings/Excel failures)
|
||||
# Applies to: SaveAs, Range.Select(), and other COM operations that can fail transiently on Excel 2013
|
||||
|
||||
@@ -21,9 +21,21 @@ from eb_dashboard_constants import CONFIG_FOLDER_NAME
|
||||
# ============================================================================
|
||||
# GLOBAL VARIABLES (managed by main module)
|
||||
# ============================================================================
|
||||
thread_local_storage = threading.local()
|
||||
|
||||
|
||||
def run_with_context(func, context, *args, **kwargs):
|
||||
"""
|
||||
Wrapper to set thread-local context before running a function in a new thread.
|
||||
Useful for ThreadPoolExecutor where context is lost.
|
||||
"""
|
||||
thread_local_storage.current_patient_context = context
|
||||
return func(*args, **kwargs)
|
||||
|
||||
|
||||
# These will be set/accessed from the main module
|
||||
httpx_clients = {}
|
||||
_clients_lock = threading.Lock()
|
||||
threads_list = []
|
||||
_threads_list_lock = threading.Lock()
|
||||
|
||||
@@ -34,19 +46,37 @@ _threads_list_lock = threading.Lock()
|
||||
|
||||
def get_httpx_client() -> httpx.Client:
|
||||
"""
|
||||
Get or create thread-local HTTP client with keep-alive enabled.
|
||||
Each thread gets its own httpx.Client instance to avoid connection conflicts.
|
||||
Keep-alive connections improve performance by reusing TCP connections.
|
||||
Get or create thread-local HTTP client.
|
||||
Keep-alive is disabled to avoid stale connections with load balancers.
|
||||
"""
|
||||
global httpx_clients
|
||||
thread_id = threading.get_ident()
|
||||
if thread_id not in httpx_clients:
|
||||
# Create client with keep-alive headers and connection pooling
|
||||
httpx_clients[thread_id] = httpx.Client(
|
||||
headers={"Connection": "keep-alive"},
|
||||
limits=httpx.Limits(max_keepalive_connections=20, max_connections=100)
|
||||
)
|
||||
return httpx_clients[thread_id]
|
||||
|
||||
with _clients_lock:
|
||||
if thread_id not in httpx_clients:
|
||||
# Create client with keep-alive disabled
|
||||
httpx_clients[thread_id] = httpx.Client(
|
||||
headers={"Connection": "close"}, # Explicitly request closing
|
||||
limits=httpx.Limits(max_keepalive_connections=0, max_connections=100)
|
||||
)
|
||||
return httpx_clients[thread_id]
|
||||
|
||||
|
||||
def clear_httpx_client():
|
||||
"""
|
||||
Removes the current thread's client from the cache.
|
||||
Ensures a fresh client (and socket pool) will be created on the next call.
|
||||
"""
|
||||
global httpx_clients
|
||||
thread_id = threading.get_ident()
|
||||
with _clients_lock:
|
||||
if thread_id in httpx_clients:
|
||||
try:
|
||||
# Close the client before removing it
|
||||
httpx_clients[thread_id].close()
|
||||
except:
|
||||
pass
|
||||
del httpx_clients[thread_id]
|
||||
|
||||
|
||||
def get_thread_position():
|
||||
|
||||
Binary file not shown.
226956
endobest_inclusions.json
226956
endobest_inclusions.json
File diff suppressed because it is too large
Load Diff
224681
endobest_inclusions_old.json
224681
endobest_inclusions_old.json
File diff suppressed because it is too large
Load Diff
@@ -1,668 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": "5703b3d6-e415-40b0-90ea-b168835fd720",
|
||||
"name": "HOPITAL PRIVE NATECIA",
|
||||
"Center_Name": "Hôpital Privé Natécia",
|
||||
"patients_count": 169,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 167,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "5e6d7afa-6532-495f-a84a-34f644aeaa0f",
|
||||
"name": "CLINIQUE BELLEDONNE",
|
||||
"Center_Name": "Clinique Belledonne",
|
||||
"patients_count": 158,
|
||||
"preincluded_count": 5,
|
||||
"included_count": 152,
|
||||
"prematurely_terminated_count": 1
|
||||
},
|
||||
{
|
||||
"id": "026a6d39-552f-44b9-8a2d-1ecd705f9e08",
|
||||
"name": "HOPITAL AMERICAIN",
|
||||
"Center_Name": "Hôpital Américain de Paris",
|
||||
"patients_count": 157,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 156,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "1de71a30-840b-4c4b-84fc-281ce1b4a5e1",
|
||||
"name": "SANTE ATLANTIQUE",
|
||||
"Center_Name": "Clinique Santé Atlantique",
|
||||
"patients_count": 155,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 155,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "bf0f96c1-8bbc-4f2c-b360-4a5b27995a12",
|
||||
"name": "SA CLINIQUE TIVOLI-DUCOS",
|
||||
"Center_Name": "Clinique TIVOLI",
|
||||
"patients_count": 154,
|
||||
"preincluded_count": 4,
|
||||
"included_count": 150,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "aba63d11-0dd7-40e8-a652-384c311bb358",
|
||||
"name": "HOPITAL LYON SUD - HOSPICES CIVILS DE LYON",
|
||||
"Center_Name": "Hôpital Lyon Sud - Hospices Civils de Lyon",
|
||||
"patients_count": 127,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 127,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "8488229d-f426-4bdd-923c-f638041b223c",
|
||||
"name": "HOPITAL JEANNE DE FLANDRE DU CHU DE LILLE",
|
||||
"Center_Name": "CHU de Lille - Hôpital Jeanne de Flandre",
|
||||
"patients_count": 91,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 90,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "31665f8d-0f46-44dc-931f-e3aed8879965",
|
||||
"name": "HOPITAL MAISON BLANCHE CHU REIMS",
|
||||
"Center_Name": "CHU de Reims - Hôpital Maison Blanche",
|
||||
"patients_count": 88,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 88,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b77b301c-10fa-4eca-bb5b-51506766e158",
|
||||
"name": "HOPITAL CHARLES NICOLLE CHU ROUEN",
|
||||
"Center_Name": "CHU de Rouen Normandie - Hôpital Charles-Nicolle",
|
||||
"patients_count": 84,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 83,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "743d0a1a-7edf-4fe6-9d65-0c14363f2153",
|
||||
"name": "CENTRE HOSPITALIER UNIVERSITAIRE JEAN MINJOZ BESANCON",
|
||||
"Center_Name": "CHU Jean Minjoz Besançon - Pôle Mère-Femme",
|
||||
"patients_count": 81,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 81,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "855d7aab-9736-40b7-b9ff-dcc6438890ef",
|
||||
"name": "HOPITAL CROIX-ROUSSE - HOSPICES CIVILS DE LYON",
|
||||
"Center_Name": "Hôpital Croix-Rousse - Hospices Civils de Lyon",
|
||||
"patients_count": 68,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 64,
|
||||
"prematurely_terminated_count": 1
|
||||
},
|
||||
{
|
||||
"id": "74a05936-8fb6-4662-8e95-fd1c91621bf2",
|
||||
"name": "GHU APHP SORBONNE UNIVERSITE SITE TENON",
|
||||
"Center_Name": "GHU APHP - Hôpital Tenon",
|
||||
"patients_count": 62,
|
||||
"preincluded_count": 9,
|
||||
"included_count": 53,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "76d2ebcd-5482-4c5d-8221-c94d1de7261e",
|
||||
"name": "CENTRE HOSPITALIER ANNECY-GENEVOIS SITE ANNECY",
|
||||
"Center_Name": "CH Annecy Genevois – Site d’Annecy",
|
||||
"patients_count": 60,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 58,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "006740fa-696c-4ffb-8b77-7a60d0e23617",
|
||||
"name": "HOPITAL PRIVÉ LE BOIS",
|
||||
"Center_Name": "Hôpital Privé le Bois - Lille",
|
||||
"patients_count": 60,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 59,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "a4b3dfea-1220-4987-b287-f58fde1d0ee5",
|
||||
"name": "CENTRE HOSPITALIER UNIVERSITAIRE COTE DE NACRE",
|
||||
"Center_Name": "CHU de Caen",
|
||||
"patients_count": 58,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 58,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "4aef30cb-778b-409a-b6e2-898bfd91c850",
|
||||
"name": "CENTRE HOSPITALIER GENERAL DE VALENCIENNES",
|
||||
"Center_Name": "CH de Valenciennes",
|
||||
"patients_count": 56,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 53,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f7d3526b-18d6-43af-b52c-5ca23bac798e",
|
||||
"name": "CENTRE HOSPITALIER REGIONAL D ANGERS",
|
||||
"Center_Name": "CHR d’Angers",
|
||||
"patients_count": 50,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 50,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d17ddcc4-64db-4cf5-83c5-146f9a060254",
|
||||
"name": "CENTRE HOSPITALIER DE CALAIS.",
|
||||
"Center_Name": "CH de Calais",
|
||||
"patients_count": 42,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 42,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "1fd6c63b-d909-45d8-8c70-ecb12501c1d1",
|
||||
"name": "HOPITAL DE HAUTEPIERRE",
|
||||
"Center_Name": "CHRU Strasbourg - Hôpital de Hautepierre",
|
||||
"patients_count": 42,
|
||||
"preincluded_count": 10,
|
||||
"included_count": 32,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f6665185-b1ae-4847-a378-652d35158cee",
|
||||
"name": "CLINIQUE BELHARRA",
|
||||
"Center_Name": "Clinique Belharra",
|
||||
"patients_count": 40,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 40,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "fe25553c-4894-4291-b303-c19d2a1c6f0f",
|
||||
"name": "CHU SITE FELIX GUYON (SAINT DENIS)",
|
||||
"Center_Name": "CHU la Réunion - Site Félix Guyon (SAINT DENIS)",
|
||||
"patients_count": 39,
|
||||
"preincluded_count": 6,
|
||||
"included_count": 33,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "12daafee-970b-4781-9121-994d06e3a766",
|
||||
"name": "CHU DE NICE HOPITAL DE L'ARCHET",
|
||||
"Center_Name": "CHU Nice Archet",
|
||||
"patients_count": 38,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 38,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f07a7374-d731-4fcf-86e9-2f36e5faf342",
|
||||
"name": "CHU MONTPELLIER HOPITAL ARNAUD DE VILLENEUVE",
|
||||
"Center_Name": "CHU Montpellier - Hôpital Arnaud de Villeneuve",
|
||||
"patients_count": 36,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 36,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "9c64545a-b622-4ef9-be0f-f5cc21b9cd66",
|
||||
"name": "HOPITAL NORD - CHU DE GRENOBLE ALPES",
|
||||
"Center_Name": "CHU de Grenoble - Hôpital Nord",
|
||||
"patients_count": 36,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 35,
|
||||
"prematurely_terminated_count": 1
|
||||
},
|
||||
{
|
||||
"id": "c03b88b5-3cd2-4336-9048-19c239baf5ec",
|
||||
"name": "CHRU DE RENNES SITE HOPITAL SUD",
|
||||
"Center_Name": "CHU Rennes",
|
||||
"patients_count": 34,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 31,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b0ba921e-e24a-41c2-b769-a2aa108cdd58",
|
||||
"name": "CENTRE HOSPITALIER LES ESCARTONS A BRIANCON",
|
||||
"Center_Name": "CH des Escartons de Briançon",
|
||||
"patients_count": 32,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 31,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b5f30dc5-da3f-4f8b-9a39-33f0fefb7196",
|
||||
"name": "SCM RX TOULOUSE CLINIQUE PASTEUR",
|
||||
"Center_Name": "Clinique Pasteur Toulouse",
|
||||
"patients_count": 32,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 30,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "817429dd-0d7c-4df9-ad70-2f19c205e05a",
|
||||
"name": "CENTRE HOSPITALIER - FALCONAJA - BASTIA",
|
||||
"Center_Name": "CH Bastia",
|
||||
"patients_count": 29,
|
||||
"preincluded_count": 4,
|
||||
"included_count": 25,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "4f943b00-9306-418a-a853-1d97dff71172",
|
||||
"name": "HOPITAL EUROPEEN",
|
||||
"Center_Name": "Hôpital Européen Marseille",
|
||||
"patients_count": 28,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 28,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "002312ec-69fb-4582-9e8f-7c266e5479d2",
|
||||
"name": "HOPITAL NORD - CHU DE SAINT-ETIENNE",
|
||||
"Center_Name": "CHU de Saint-Étienne - Hôpital Nord",
|
||||
"patients_count": 27,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 27,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "0ce39aac-6b5a-418b-8430-c4432e6cd78f",
|
||||
"name": "HOPITAL DE RANGUEIL CHU TOULOUSE",
|
||||
"Center_Name": "CHU de Toulouse - Hôpital Rangueil",
|
||||
"patients_count": 24,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 23,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "8ef8564e-836c-4c03-b4ec-8e28fa76c3c0",
|
||||
"name": "HOPITAL ESTAING - CHU CLERMONT-FERRAND",
|
||||
"Center_Name": "CHU Clermont-Ferrand - Site Estaing",
|
||||
"patients_count": 23,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 22,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "546f981f-6f7d-40c8-9b97-a1a3c46e6674",
|
||||
"name": "GROUPE HOSPITALIER DE LA REGION DE MULHOUSE ET SUD ALSACE",
|
||||
"Center_Name": "GHR Mulhouse Sud Alsace",
|
||||
"patients_count": 20,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 20,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "eb9c561d-37b6-485c-b351-9e19515cb98d",
|
||||
"name": "GROUPE HOSPITALIER PELLEGRIN - CHU",
|
||||
"Center_Name": "CHU de Bordeaux - GH Pellegrin",
|
||||
"patients_count": 20,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 20,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d1ef2ced-0206-4725-a08c-454d71e823ec",
|
||||
"name": "HOPITAL DE LA MERE ET DE L'ENFANT",
|
||||
"Center_Name": "CHU Limoges - Hôpital de la Mère et de l'Enfant",
|
||||
"patients_count": 20,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 20,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "7f43a297-b156-4fec-8ecf-d8d008b1a1d2",
|
||||
"name": "HOPITAL PRIVE DIJON BOURGOGNE",
|
||||
"Center_Name": "Centre Evidens - Hôpital privé Dijon Bourgogne",
|
||||
"patients_count": 19,
|
||||
"preincluded_count": 4,
|
||||
"included_count": 15,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d767fcd0-3f4c-4cdf-9cda-b829156d2f95",
|
||||
"name": "HOPITAL PRIVE SUD CORSE",
|
||||
"Center_Name": "Hôpital Privé Sud Corse",
|
||||
"patients_count": 18,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 18,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "58d5b536-b326-4713-9137-bb6f852df0be",
|
||||
"name": "CENTRE HOSPITALIER METROPOLE SAVOIE - CHAMBERY NH",
|
||||
"Center_Name": "CH Métropole Savoie - Site Chambéry",
|
||||
"patients_count": 16,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 16,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b4b35661-87c8-4333-bfb1-3ce4f1c77565",
|
||||
"name": "CENTRE HOSPITALIER REGIONAL UNIVERSITAIRE BRETONNEAU",
|
||||
"Center_Name": "CHRU Bretonneau",
|
||||
"patients_count": 15,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 13,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "454313d9-c624-43de-a8e3-84989d526403",
|
||||
"name": "CLINIQUE MUTUALISTE LA SAGESSE RENNES",
|
||||
"Center_Name": "Clinique la Sagesse - Rennes",
|
||||
"patients_count": 15,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 15,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d981c078-189e-4831-a063-778733f7e582",
|
||||
"name": "HOPITAL FOCH",
|
||||
"Center_Name": "Hôpital Foch",
|
||||
"patients_count": 15,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 12,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "940c8425-fe53-45ac-a750-3e195df990e3",
|
||||
"name": "HOPITAL PRIVE D'EURE ET LOIR",
|
||||
"Center_Name": "Hôpital Privé d'Eure et Loir",
|
||||
"patients_count": 14,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 13,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "98cbbefe-920a-495a-981d-02093bd2253d",
|
||||
"name": "CHU LA MILETRIE",
|
||||
"Center_Name": "CHU de Poitiers La Miletrie",
|
||||
"patients_count": 13,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 11,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "38e9ef8a-5073-471a-a3df-14d834db2d12",
|
||||
"name": "GHBS-SITE HÔPITAL DU SCORFF",
|
||||
"Center_Name": "Groupe Hospitalier Bretagne Sud Lorient - GHBS - Lorient (SCORFF)",
|
||||
"patients_count": 13,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 13,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "6316db1a-4a90-4e45-a518-0095d63f7c36",
|
||||
"name": "HOPITAL LE BOCAGE CHRU DIJON",
|
||||
"Center_Name": "CHU Dijon",
|
||||
"patients_count": 12,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 11,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f790c171-9523-48b6-a246-fdb26628eb6c",
|
||||
"name": "CHRU NANCY - MATERNITE",
|
||||
"Center_Name": "CHRU de Nancy - Maternité",
|
||||
"patients_count": 11,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 10,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "7b8c5362-7c7a-4d93-8b12-58b8e56020d1",
|
||||
"name": "HOPITAL JACQUES MONOD CH LE HAVRE",
|
||||
"Center_Name": "GH du Havre - Hôpital Jacques Monod",
|
||||
"patients_count": 11,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 11,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "6953af68-e30e-437f-93cf-19ed0932c350",
|
||||
"name": "CHRU D'ORLEANS - HOPITAL DE LA SOURCE",
|
||||
"Center_Name": "CHU d'Orléans",
|
||||
"patients_count": 10,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 7,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f13560a8-3bf6-4322-bdae-332ee3bf0366",
|
||||
"name": "POLYCLINIQUE JEAN VILLAR",
|
||||
"Center_Name": "Polyclinique Jean Villar",
|
||||
"patients_count": 10,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 10,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "da67fb6e-2ccc-4994-8fde-cc2ee2a8e9ca",
|
||||
"name": "GHU AP-HP UNIVERSITE PARIS SACLAY SITE KREMLIN BICETRE",
|
||||
"Center_Name": "GHU APHP - Hôpital Bicêtre",
|
||||
"patients_count": 9,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 6,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "56f427f0-be35-493b-8049-46b747c0105e",
|
||||
"name": "CHU AMIENS SUD",
|
||||
"Center_Name": "CHU Amiens Sud",
|
||||
"patients_count": 7,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 4,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f784ee6f-27b5-4afe-ba23-4f839d96535c",
|
||||
"name": "APHM HOPITAL NORD",
|
||||
"Center_Name": "APHM Hôpital Nord",
|
||||
"patients_count": 5,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 5,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "1ac60b10-08de-4639-9a49-67167f85844e",
|
||||
"name": "CENTRE HOSPITALIER DE LENS",
|
||||
"Center_Name": "CH de Lens",
|
||||
"patients_count": 5,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "9ba321be-65d0-4767-9865-a547905e647e",
|
||||
"name": "HOPITAL DE LA CROIX SAINT SIMON",
|
||||
"Center_Name": "GH Diaconesses Croix Saint-Simon",
|
||||
"patients_count": 5,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 4,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "cab5b1e9-d93a-46eb-ae35-a449ea719c65",
|
||||
"name": "GRAND HOSP EST FRANCILIEN MARNE LA VALLEE SITE JOSSIGNY",
|
||||
"Center_Name": "Grand Hôpital de l'Est Francilien - Site de Marne-la-Vallée",
|
||||
"patients_count": 4,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "96519108-b0b2-4a5f-999f-cccc4e4059c9",
|
||||
"name": "CHU DE NANTES SITE HOTEL DIEU HOPITAL MERE ENFANT",
|
||||
"Center_Name": "CHU de Nantes - Site Hôtel Dieu Hôpital Mère Enfant",
|
||||
"patients_count": 3,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "fe7548b7-75a1-4e13-97a9-6dc865b04b25",
|
||||
"name": "CHU SITE SUD ( SAINT PIERRE)",
|
||||
"Center_Name": "CHU la Réunion - Site Sud (SAINT PIERRE)",
|
||||
"patients_count": 3,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "e68c76de-33e8-49e3-978d-c5fb408e7fd5",
|
||||
"name": "CLINIQUE AXIUM",
|
||||
"Center_Name": "Clinique Axium",
|
||||
"patients_count": 3,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "af09eaa0-7e08-48e3-990c-24ca2fbc3fdc",
|
||||
"name": "SCP GYNECOLOGIE RIVE GAUCHE",
|
||||
"Center_Name": "SCP Gynécologie Clinique Rive Gauche",
|
||||
"patients_count": 3,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "0466558d-077c-4a51-9d25-2e15e00fabaf",
|
||||
"name": "CENTRE HOSPITALIER DE CANNES SIMONE VEIL",
|
||||
"Center_Name": "CH de Cannes Simone Veil",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "13306b61-7ea6-4d60-b89c-b0df2d9d1605",
|
||||
"name": "CENTRE HOSPITALIER VICTOR PROVO ROUBAIX",
|
||||
"Center_Name": "CH Victor Provo Roubaix",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "8c27716f-edfe-4a4e-9189-09f39cc64395",
|
||||
"name": "CHI DE MONT DE MARSAN ET DU PAYS DES SOURCES",
|
||||
"Center_Name": "CHI Mont de Marsan",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b74c365a-fc63-4763-b57d-abb609debd3b",
|
||||
"name": "CTRE HOSPITALIER INTERCOMMUNAL POISSY ST GERMAIN SITE POISSY",
|
||||
"Center_Name": "CHI Poissy St Germain en Laye - Site Poissy",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "4d271322-7945-42e8-801b-a3b25fc570be",
|
||||
"name": "GROUPE HOSPITALIER PARIS SAINT JOSEPH",
|
||||
"Center_Name": "Groupe Hospitalier Paris Saint-Joseph",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "aa3e8684-07e0-45d9-9cee-144df2e4b430",
|
||||
"name": "CENTRE HOSPITALIER DE PAU",
|
||||
"Center_Name": "CH de Pau",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 1,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d82d64eb-a1cf-4635-a99f-23def12c7cb5",
|
||||
"name": "CHRU BREST SITE HOPITAL MORVAN",
|
||||
"Center_Name": "CHRU Brest - Site Hôpital Morvan",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 1,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "a47dc8c0-dfea-4a4c-9bcc-1370616ff9c8",
|
||||
"name": "CHU DE MARTINIQUE SITE MFME",
|
||||
"Center_Name": "CHU de Martinique - Site MFME",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 1,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "384d3b28-f33e-43a6-9043-394aa88aead7",
|
||||
"name": "CLINIQUE BOUCHARD",
|
||||
"Center_Name": "Clinique Bouchard - Marseille",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 1,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "0f78459f-b598-4faa-81a1-085a439e8c0e",
|
||||
"name": "HOPITAUX PRIVES ROUENNAIS MATHILDE",
|
||||
"Center_Name": "Hôpitaux Privés Rouennais - Mathilde",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "02e42e01-56ab-418d-95df-cb53a7ef17b3",
|
||||
"name": "APHM HOPITAL DE LA CONCEPTION",
|
||||
"Center_Name": "APHM Hôpital de la Conception",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "2ba1f179-425e-4d88-97a7-88a097e639ab",
|
||||
"name": "CENTRE HOSPITALIER DE CAYENNE",
|
||||
"Center_Name": "CHU de Guyane - Site de Cayenne",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "3e8887e1-7608-40a6-b6f5-87c6fa5a0bd0",
|
||||
"name": "CENTRE HOSPITALIER DE VERSAILLES ANDRE MIGNOT",
|
||||
"Center_Name": "CH de Versailles",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "6af3784d-5d57-47c3-b924-0d13008ebd88",
|
||||
"name": "CENTRE HOSPITALIER UNIVERSITAIRE DE POINTE-A-PITRE",
|
||||
"Center_Name": "CHU de Guadeloupe - Pointe-à-Pitre",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "dacc94bd-89b0-4cc4-b334-f684360abbe5",
|
||||
"name": "HOPITAL PRIVE D ANTONY",
|
||||
"Center_Name": "Hôpital Privé d'Antony",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
}
|
||||
]
|
||||
@@ -1,659 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": "5703b3d6-e415-40b0-90ea-b168835fd720",
|
||||
"name": "HOPITAL PRIVE NATECIA",
|
||||
"Center_Name": "Hôpital Privé Natécia",
|
||||
"patients_count": 169,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 167,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "5e6d7afa-6532-495f-a84a-34f644aeaa0f",
|
||||
"name": "CLINIQUE BELLEDONNE",
|
||||
"Center_Name": "Clinique Belledonne",
|
||||
"patients_count": 157,
|
||||
"preincluded_count": 5,
|
||||
"included_count": 151,
|
||||
"prematurely_terminated_count": 1
|
||||
},
|
||||
{
|
||||
"id": "026a6d39-552f-44b9-8a2d-1ecd705f9e08",
|
||||
"name": "HOPITAL AMERICAIN",
|
||||
"Center_Name": "Hôpital Américain de Paris",
|
||||
"patients_count": 156,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 153,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "1de71a30-840b-4c4b-84fc-281ce1b4a5e1",
|
||||
"name": "SANTE ATLANTIQUE",
|
||||
"Center_Name": "Clinique Santé Atlantique",
|
||||
"patients_count": 154,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 154,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "bf0f96c1-8bbc-4f2c-b360-4a5b27995a12",
|
||||
"name": "SA CLINIQUE TIVOLI-DUCOS",
|
||||
"Center_Name": "Clinique TIVOLI",
|
||||
"patients_count": 150,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 148,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "aba63d11-0dd7-40e8-a652-384c311bb358",
|
||||
"name": "HOPITAL LYON SUD - HOSPICES CIVILS DE LYON",
|
||||
"Center_Name": "Hôpital Lyon Sud - Hospices Civils de Lyon",
|
||||
"patients_count": 127,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 127,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "8488229d-f426-4bdd-923c-f638041b223c",
|
||||
"name": "HOPITAL JEANNE DE FLANDRE DU CHU DE LILLE",
|
||||
"Center_Name": "CHU de Lille - Hôpital Jeanne de Flandre",
|
||||
"patients_count": 91,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 90,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "31665f8d-0f46-44dc-931f-e3aed8879965",
|
||||
"name": "HOPITAL MAISON BLANCHE CHU REIMS",
|
||||
"Center_Name": "CHU de Reims - Hôpital Maison Blanche",
|
||||
"patients_count": 88,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 88,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b77b301c-10fa-4eca-bb5b-51506766e158",
|
||||
"name": "HOPITAL CHARLES NICOLLE CHU ROUEN",
|
||||
"Center_Name": "CHU de Rouen Normandie - Hôpital Charles-Nicolle",
|
||||
"patients_count": 84,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 83,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "743d0a1a-7edf-4fe6-9d65-0c14363f2153",
|
||||
"name": "CENTRE HOSPITALIER UNIVERSITAIRE JEAN MINJOZ BESANCON",
|
||||
"Center_Name": "CHU Jean Minjoz Besançon - Pôle Mère-Femme",
|
||||
"patients_count": 80,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 80,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "855d7aab-9736-40b7-b9ff-dcc6438890ef",
|
||||
"name": "HOPITAL CROIX-ROUSSE - HOSPICES CIVILS DE LYON",
|
||||
"Center_Name": "Hôpital Croix-Rousse - Hospices Civils de Lyon",
|
||||
"patients_count": 63,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 60,
|
||||
"prematurely_terminated_count": 1
|
||||
},
|
||||
{
|
||||
"id": "74a05936-8fb6-4662-8e95-fd1c91621bf2",
|
||||
"name": "GHU APHP SORBONNE UNIVERSITE SITE TENON",
|
||||
"Center_Name": "GHU APHP - Hôpital Tenon",
|
||||
"patients_count": 62,
|
||||
"preincluded_count": 9,
|
||||
"included_count": 53,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "006740fa-696c-4ffb-8b77-7a60d0e23617",
|
||||
"name": "HOPITAL PRIVÉ LE BOIS",
|
||||
"Center_Name": "Hôpital Privé le Bois - Lille",
|
||||
"patients_count": 60,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 59,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "76d2ebcd-5482-4c5d-8221-c94d1de7261e",
|
||||
"name": "CENTRE HOSPITALIER ANNECY-GENEVOIS SITE ANNECY",
|
||||
"Center_Name": "CH Annecy Genevois – Site d’Annecy",
|
||||
"patients_count": 59,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 58,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "a4b3dfea-1220-4987-b287-f58fde1d0ee5",
|
||||
"name": "CENTRE HOSPITALIER UNIVERSITAIRE COTE DE NACRE",
|
||||
"Center_Name": "CHU de Caen",
|
||||
"patients_count": 58,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 58,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "4aef30cb-778b-409a-b6e2-898bfd91c850",
|
||||
"name": "CENTRE HOSPITALIER GENERAL DE VALENCIENNES",
|
||||
"Center_Name": "CH de Valenciennes",
|
||||
"patients_count": 55,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 52,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f7d3526b-18d6-43af-b52c-5ca23bac798e",
|
||||
"name": "CENTRE HOSPITALIER REGIONAL D ANGERS",
|
||||
"Center_Name": "CHR d’Angers",
|
||||
"patients_count": 50,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 50,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d17ddcc4-64db-4cf5-83c5-146f9a060254",
|
||||
"name": "CENTRE HOSPITALIER DE CALAIS.",
|
||||
"Center_Name": "CH de Calais",
|
||||
"patients_count": 42,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 42,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "1fd6c63b-d909-45d8-8c70-ecb12501c1d1",
|
||||
"name": "HOPITAL DE HAUTEPIERRE",
|
||||
"Center_Name": "CHRU Strasbourg - Hôpital de Hautepierre",
|
||||
"patients_count": 41,
|
||||
"preincluded_count": 9,
|
||||
"included_count": 32,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f6665185-b1ae-4847-a378-652d35158cee",
|
||||
"name": "CLINIQUE BELHARRA",
|
||||
"Center_Name": "Clinique Belharra",
|
||||
"patients_count": 40,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 40,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "fe25553c-4894-4291-b303-c19d2a1c6f0f",
|
||||
"name": "CHU SITE FELIX GUYON (SAINT DENIS)",
|
||||
"Center_Name": "CHU la Réunion - Site Félix Guyon (SAINT DENIS)",
|
||||
"patients_count": 39,
|
||||
"preincluded_count": 6,
|
||||
"included_count": 33,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "12daafee-970b-4781-9121-994d06e3a766",
|
||||
"name": "CHU DE NICE HOPITAL DE L'ARCHET",
|
||||
"Center_Name": "CHU Nice Archet",
|
||||
"patients_count": 38,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 38,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f07a7374-d731-4fcf-86e9-2f36e5faf342",
|
||||
"name": "CHU MONTPELLIER HOPITAL ARNAUD DE VILLENEUVE",
|
||||
"Center_Name": "CHU Montpellier - Hôpital Arnaud de Villeneuve",
|
||||
"patients_count": 36,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 36,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "9c64545a-b622-4ef9-be0f-f5cc21b9cd66",
|
||||
"name": "HOPITAL NORD - CHU DE GRENOBLE ALPES",
|
||||
"Center_Name": "CHU de Grenoble - Hôpital Nord",
|
||||
"patients_count": 36,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 35,
|
||||
"prematurely_terminated_count": 1
|
||||
},
|
||||
{
|
||||
"id": "b0ba921e-e24a-41c2-b769-a2aa108cdd58",
|
||||
"name": "CENTRE HOSPITALIER LES ESCARTONS A BRIANCON",
|
||||
"Center_Name": "CH des Escartons de Briançon",
|
||||
"patients_count": 32,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 31,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b5f30dc5-da3f-4f8b-9a39-33f0fefb7196",
|
||||
"name": "SCM RX TOULOUSE CLINIQUE PASTEUR",
|
||||
"Center_Name": "Clinique Pasteur Toulouse",
|
||||
"patients_count": 32,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 30,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "c03b88b5-3cd2-4336-9048-19c239baf5ec",
|
||||
"name": "CHRU DE RENNES SITE HOPITAL SUD",
|
||||
"Center_Name": "CHU Rennes",
|
||||
"patients_count": 31,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 30,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "817429dd-0d7c-4df9-ad70-2f19c205e05a",
|
||||
"name": "CENTRE HOSPITALIER - FALCONAJA - BASTIA",
|
||||
"Center_Name": "CH Bastia",
|
||||
"patients_count": 29,
|
||||
"preincluded_count": 4,
|
||||
"included_count": 25,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "4f943b00-9306-418a-a853-1d97dff71172",
|
||||
"name": "HOPITAL EUROPEEN",
|
||||
"Center_Name": "Hôpital Européen Marseille",
|
||||
"patients_count": 28,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 28,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "002312ec-69fb-4582-9e8f-7c266e5479d2",
|
||||
"name": "HOPITAL NORD - CHU DE SAINT-ETIENNE",
|
||||
"Center_Name": "CHU de Saint-Étienne - Hôpital Nord",
|
||||
"patients_count": 27,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 27,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "0ce39aac-6b5a-418b-8430-c4432e6cd78f",
|
||||
"name": "HOPITAL DE RANGUEIL CHU TOULOUSE",
|
||||
"Center_Name": "CHU de Toulouse - Hôpital Rangueil",
|
||||
"patients_count": 24,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 23,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "8ef8564e-836c-4c03-b4ec-8e28fa76c3c0",
|
||||
"name": "HOPITAL ESTAING - CHU CLERMONT-FERRAND",
|
||||
"Center_Name": "CHU Clermont-Ferrand - Site Estaing",
|
||||
"patients_count": 22,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 21,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "546f981f-6f7d-40c8-9b97-a1a3c46e6674",
|
||||
"name": "GROUPE HOSPITALIER DE LA REGION DE MULHOUSE ET SUD ALSACE",
|
||||
"Center_Name": "GHR Mulhouse Sud Alsace",
|
||||
"patients_count": 20,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 20,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "eb9c561d-37b6-485c-b351-9e19515cb98d",
|
||||
"name": "GROUPE HOSPITALIER PELLEGRIN - CHU",
|
||||
"Center_Name": "CHU de Bordeaux - GH Pellegrin",
|
||||
"patients_count": 20,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 20,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d1ef2ced-0206-4725-a08c-454d71e823ec",
|
||||
"name": "HOPITAL DE LA MERE ET DE L'ENFANT",
|
||||
"Center_Name": "CHU Limoges - Hôpital de la Mère et de l'Enfant",
|
||||
"patients_count": 20,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 20,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "7f43a297-b156-4fec-8ecf-d8d008b1a1d2",
|
||||
"name": "HOPITAL PRIVE DIJON BOURGOGNE",
|
||||
"Center_Name": "Centre Evidens - Hôpital privé Dijon Bourgogne",
|
||||
"patients_count": 19,
|
||||
"preincluded_count": 4,
|
||||
"included_count": 14,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d767fcd0-3f4c-4cdf-9cda-b829156d2f95",
|
||||
"name": "HOPITAL PRIVE SUD CORSE",
|
||||
"Center_Name": "Hôpital Privé Sud Corse",
|
||||
"patients_count": 18,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 18,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "58d5b536-b326-4713-9137-bb6f852df0be",
|
||||
"name": "CENTRE HOSPITALIER METROPOLE SAVOIE - CHAMBERY NH",
|
||||
"Center_Name": "CH Métropole Savoie - Site Chambéry",
|
||||
"patients_count": 16,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 16,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "454313d9-c624-43de-a8e3-84989d526403",
|
||||
"name": "CLINIQUE MUTUALISTE LA SAGESSE RENNES",
|
||||
"Center_Name": "Clinique la Sagesse - Rennes",
|
||||
"patients_count": 15,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 15,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d981c078-189e-4831-a063-778733f7e582",
|
||||
"name": "HOPITAL FOCH",
|
||||
"Center_Name": "Hôpital Foch",
|
||||
"patients_count": 15,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 12,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b4b35661-87c8-4333-bfb1-3ce4f1c77565",
|
||||
"name": "CENTRE HOSPITALIER REGIONAL UNIVERSITAIRE BRETONNEAU",
|
||||
"Center_Name": "CHRU Bretonneau",
|
||||
"patients_count": 14,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 12,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "940c8425-fe53-45ac-a750-3e195df990e3",
|
||||
"name": "HOPITAL PRIVE D'EURE ET LOIR",
|
||||
"Center_Name": "Hôpital Privé d'Eure et Loir",
|
||||
"patients_count": 14,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 13,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "98cbbefe-920a-495a-981d-02093bd2253d",
|
||||
"name": "CHU LA MILETRIE",
|
||||
"Center_Name": "CHU de Poitiers La Miletrie",
|
||||
"patients_count": 13,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 11,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "38e9ef8a-5073-471a-a3df-14d834db2d12",
|
||||
"name": "GHBS-SITE HÔPITAL DU SCORFF",
|
||||
"Center_Name": "Groupe Hospitalier Bretagne Sud Lorient - GHBS - Lorient (SCORFF)",
|
||||
"patients_count": 13,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 13,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "6316db1a-4a90-4e45-a518-0095d63f7c36",
|
||||
"name": "HOPITAL LE BOCAGE CHRU DIJON",
|
||||
"Center_Name": "CHU Dijon",
|
||||
"patients_count": 12,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 11,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f790c171-9523-48b6-a246-fdb26628eb6c",
|
||||
"name": "CHRU NANCY - MATERNITE",
|
||||
"Center_Name": "CHRU de Nancy - Maternité",
|
||||
"patients_count": 11,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 10,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "7b8c5362-7c7a-4d93-8b12-58b8e56020d1",
|
||||
"name": "HOPITAL JACQUES MONOD CH LE HAVRE",
|
||||
"Center_Name": "GH du Havre - Hôpital Jacques Monod",
|
||||
"patients_count": 11,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 11,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "6953af68-e30e-437f-93cf-19ed0932c350",
|
||||
"name": "CHRU D'ORLEANS - HOPITAL DE LA SOURCE",
|
||||
"Center_Name": "CHU d'Orléans",
|
||||
"patients_count": 10,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 7,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f13560a8-3bf6-4322-bdae-332ee3bf0366",
|
||||
"name": "POLYCLINIQUE JEAN VILLAR",
|
||||
"Center_Name": "Polyclinique Jean Villar",
|
||||
"patients_count": 10,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 10,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "da67fb6e-2ccc-4994-8fde-cc2ee2a8e9ca",
|
||||
"name": "GHU AP-HP UNIVERSITE PARIS SACLAY SITE KREMLIN BICETRE",
|
||||
"Center_Name": "GHU APHP - Hôpital Bicêtre",
|
||||
"patients_count": 9,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 4,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "56f427f0-be35-493b-8049-46b747c0105e",
|
||||
"name": "CHU AMIENS SUD",
|
||||
"Center_Name": "CHU Amiens Sud",
|
||||
"patients_count": 7,
|
||||
"preincluded_count": 3,
|
||||
"included_count": 4,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "f784ee6f-27b5-4afe-ba23-4f839d96535c",
|
||||
"name": "APHM HOPITAL NORD",
|
||||
"Center_Name": "APHM Hôpital Nord",
|
||||
"patients_count": 5,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 5,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "1ac60b10-08de-4639-9a49-67167f85844e",
|
||||
"name": "CENTRE HOSPITALIER DE LENS",
|
||||
"Center_Name": "CH de Lens",
|
||||
"patients_count": 5,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "9ba321be-65d0-4767-9865-a547905e647e",
|
||||
"name": "HOPITAL DE LA CROIX SAINT SIMON",
|
||||
"Center_Name": "GH Diaconesses Croix Saint-Simon",
|
||||
"patients_count": 5,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 4,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "cab5b1e9-d93a-46eb-ae35-a449ea719c65",
|
||||
"name": "GRAND HOSP EST FRANCILIEN MARNE LA VALLEE SITE JOSSIGNY",
|
||||
"Center_Name": "Grand Hôpital de l'Est Francilien - Site de Marne-la-Vallée",
|
||||
"patients_count": 4,
|
||||
"preincluded_count": 2,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "96519108-b0b2-4a5f-999f-cccc4e4059c9",
|
||||
"name": "CHU DE NANTES SITE HOTEL DIEU HOPITAL MERE ENFANT",
|
||||
"Center_Name": "CHU de Nantes - Site Hôtel Dieu Hôpital Mère Enfant",
|
||||
"patients_count": 3,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "fe7548b7-75a1-4e13-97a9-6dc865b04b25",
|
||||
"name": "CHU SITE SUD ( SAINT PIERRE)",
|
||||
"Center_Name": "CHU la Réunion - Site Sud (SAINT PIERRE)",
|
||||
"patients_count": 3,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "e68c76de-33e8-49e3-978d-c5fb408e7fd5",
|
||||
"name": "CLINIQUE AXIUM",
|
||||
"Center_Name": "Clinique Axium",
|
||||
"patients_count": 3,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "af09eaa0-7e08-48e3-990c-24ca2fbc3fdc",
|
||||
"name": "SCP GYNECOLOGIE RIVE GAUCHE",
|
||||
"Center_Name": "SCP Gynécologie Clinique Rive Gauche",
|
||||
"patients_count": 3,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 3,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "0466558d-077c-4a51-9d25-2e15e00fabaf",
|
||||
"name": "CENTRE HOSPITALIER DE CANNES SIMONE VEIL",
|
||||
"Center_Name": "CH de Cannes Simone Veil",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "13306b61-7ea6-4d60-b89c-b0df2d9d1605",
|
||||
"name": "CENTRE HOSPITALIER VICTOR PROVO ROUBAIX",
|
||||
"Center_Name": "CH Victor Provo Roubaix",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "8c27716f-edfe-4a4e-9189-09f39cc64395",
|
||||
"name": "CHI DE MONT DE MARSAN ET DU PAYS DES SOURCES",
|
||||
"Center_Name": "CHI Mont de Marsan",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "b74c365a-fc63-4763-b57d-abb609debd3b",
|
||||
"name": "CTRE HOSPITALIER INTERCOMMUNAL POISSY ST GERMAIN SITE POISSY",
|
||||
"Center_Name": "CHI Poissy St Germain en Laye - Site Poissy",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "4d271322-7945-42e8-801b-a3b25fc570be",
|
||||
"name": "GROUPE HOSPITALIER PARIS SAINT JOSEPH",
|
||||
"Center_Name": "Groupe Hospitalier Paris Saint-Joseph",
|
||||
"patients_count": 2,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 2,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "aa3e8684-07e0-45d9-9cee-144df2e4b430",
|
||||
"name": "CENTRE HOSPITALIER DE PAU",
|
||||
"Center_Name": "CH de Pau",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 1,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "d82d64eb-a1cf-4635-a99f-23def12c7cb5",
|
||||
"name": "CHRU BREST SITE HOPITAL MORVAN",
|
||||
"Center_Name": "CHRU Brest - Site Hôpital Morvan",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 1,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "a47dc8c0-dfea-4a4c-9bcc-1370616ff9c8",
|
||||
"name": "CHU DE MARTINIQUE SITE MFME",
|
||||
"Center_Name": "CHU de Martinique - Site MFME",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 1,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "384d3b28-f33e-43a6-9043-394aa88aead7",
|
||||
"name": "CLINIQUE BOUCHARD",
|
||||
"Center_Name": "Clinique Bouchard - Marseille",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 1,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "0f78459f-b598-4faa-81a1-085a439e8c0e",
|
||||
"name": "HOPITAUX PRIVES ROUENNAIS MATHILDE",
|
||||
"Center_Name": "Hôpitaux Privés Rouennais - Mathilde",
|
||||
"patients_count": 1,
|
||||
"preincluded_count": 1,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "2ba1f179-425e-4d88-97a7-88a097e639ab",
|
||||
"name": "CENTRE HOSPITALIER DE CAYENNE",
|
||||
"Center_Name": "CHU de Guyane - Site de Cayenne",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "3e8887e1-7608-40a6-b6f5-87c6fa5a0bd0",
|
||||
"name": "CENTRE HOSPITALIER DE VERSAILLES ANDRE MIGNOT",
|
||||
"Center_Name": "CH de Versailles",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "6af3784d-5d57-47c3-b924-0d13008ebd88",
|
||||
"name": "CENTRE HOSPITALIER UNIVERSITAIRE DE POINTE-A-PITRE",
|
||||
"Center_Name": "CHU de Guadeloupe - Pointe-à-Pitre",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
},
|
||||
{
|
||||
"id": "dacc94bd-89b0-4cc4-b334-f684360abbe5",
|
||||
"name": "HOPITAL PRIVE D ANTONY",
|
||||
"Center_Name": "Hôpital Privé d'Antony",
|
||||
"patients_count": 0,
|
||||
"preincluded_count": 0,
|
||||
"included_count": 0,
|
||||
"prematurely_terminated_count": 0
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user