From fd2dffb0589c0d7fc547465dcfe12dffa64259e8 Mon Sep 17 00:00:00 2001 From: "vladimir.buzalka" Date: Wed, 6 May 2026 11:30:27 +0200 Subject: [PATCH] z230 --- Medidata/.env | 3 + Medidata/auth.json | 1 + Medidata/download_report.py | 426 ++++++++++++++++++ ...4 of 10] [average solving time 30 min].pdf | Bin 0 -> 16196 bytes ...26-05-06_10-48_EDC_MDD3003_DataListing.csv | 374 +++++++++++++++ ...26-05-06_10-57_EDC_MDD3003_DataListing.csv | 374 +++++++++++++++ ...26-05-06_11-02_EDC_MDD3003_DataListing.csv | 374 +++++++++++++++ ...26-05-06_11-04_EDC_MDD3003_DataListing.csv | 374 +++++++++++++++ ...26-05-06_11-06_EDC_MDD3003_DataListing.csv | 374 +++++++++++++++ Medidata/forms_MDD3003_CZE.json | 21 + Medidata/reports_catalog.json | 58 +++ 11 files changed, 2379 insertions(+) create mode 100644 Medidata/.env create mode 100644 Medidata/auth.json create mode 100644 Medidata/download_report.py create mode 100644 Medidata/downloads/2009-05-04 Puzzle SudokuKiller 376 [difficulty 4 of 10] [average solving time 30 min].pdf create mode 100644 Medidata/downloads/2026-05-06_10-48_EDC_MDD3003_DataListing.csv create mode 100644 Medidata/downloads/2026-05-06_10-57_EDC_MDD3003_DataListing.csv create mode 100644 Medidata/downloads/2026-05-06_11-02_EDC_MDD3003_DataListing.csv create mode 100644 Medidata/downloads/2026-05-06_11-04_EDC_MDD3003_DataListing.csv create mode 100644 Medidata/downloads/2026-05-06_11-06_EDC_MDD3003_DataListing.csv create mode 100644 Medidata/forms_MDD3003_CZE.json create mode 100644 Medidata/reports_catalog.json diff --git a/Medidata/.env b/Medidata/.env new file mode 100644 index 0000000..a2931ee --- /dev/null +++ b/Medidata/.env @@ -0,0 +1,3 @@ +IMEDIDATA_USERNAME=vladimir.buzalka +IMEDIDATA_PASSWORD=Mar2026Ax162q8+ +DOWNLOAD_DIR=./downloads diff --git a/Medidata/auth.json b/Medidata/auth.json new file mode 100644 index 0000000..46b9c3c --- /dev/null +++ b/Medidata/auth.json @@ -0,0 +1 @@ +{"cookies": [{"name": "MedidataRave", "value": "!JET5MYIkov2k9UP+Fdbz28T3ltXXz1CjnRRKPvVAHsBlE+c+eU1GS0iyvbtvmtAIq7+wbFZ/8iGewwQ=", "domain": "jnjja.mdsol.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "locale", "value": "eng", "domain": "login.imedidata.com", "path": "/", "expires": 1812615504.012718, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "onex", "value": "true", "domain": "login.imedidata.com", "path": "/", "expires": 1812615496.350703, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "service", "value": "https%3A%2F%2Fjnjja.mdsol.com%2FMedidataRave%2FSelectRole.aspx%3Fclient_division_uuid%3De5de55d5-a414-4bd1-9abe-18e96fd5475d%26study_group_uuid%3Db0793ca6-33ec-44e8-883b-6fc1a4b671c4%26studygroup_id%3D107981", "domain": "login.imedidata.com", "path": "/", "expires": 1778059096.350763, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "2fa_session", "value": "2be67f1c-a6c7-4f7f-b626-2069090481af", "domain": "login.imedidata.com", "path": "/", "expires": 1778660304.012945, "httpOnly": false, "secure": true, "sameSite": "Lax"}, {"name": "tgt", "value": "TGC-1778055503rC9877F7E992315DCD9", "domain": "login.imedidata.com", "path": "/", "expires": -1, "httpOnly": false, "secure": true, "sameSite": "Lax"}, {"name": "preferred_idp", "value": "medidata", "domain": "login.imedidata.com", "path": "/", "expires": 1812615504.013072, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "_authmedidata_session", "value": "sTRE%2BOw0vV3IjmCwvRmjQgI1uGKH9PCwIBHO6cXQl7iqyYsj6I8xmo%2B6O3yz6YngomQmLhgCe%2BFSQibbt6tsRL%2FbBWmdMHKVB6RfsLmfxnIR%2FS89zAKkIKBmpnex%2FEUBbK7wONOsrBRuzw1fla3Iy8IPnjFuK4cGLx3BCojneWJHqePBUUBWZ79nNA%2BKm3o8wx7XECimxy%2BWBq5XNsCSGCcaP%2Bh1klR8GCwx9lRc8y3ChEy%2FwBXkyLRhB8o5p9Ng46iSlJK4lgrOUwwflulHPMH0Fvrem8cIOZ4cKdDrtJcsI4jw7wx%2FQu3bDWEzqn%2BsiRbEs8ZJ3UHEdPYcalswAwYEXOTPuvOvyWCbr1kWigPsgBGQwLRF%2BcXQsdPOMCsyAjNP2yS6LfRyzI0%2B9k3JBd6hsBsPLlZZKo6eegFNcMD9%2FpTpxr8iLlmGVyWJarJE%2FomR4KqXjfEttykOHQY9J8LHeetXvpiBsQ%3D%3D--QOSBnj%2F72rN13wjE--NtQoQa2F351UCq4%2BCj8iRg%3D%3D", "domain": "login.imedidata.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "_session_id", "value": "8a73b650fbd366c4007fed97b1ef2e08", "domain": "www.imedidata.com", "path": "/", "expires": 1778120304.941, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "CAS", "value": "XFDNWPI3BRXK75VB4ALHZQRVPKPDKS6QXXSJ5D2GOJSUPKTJD4Y4E57V5LFWOQV6HTROSFZ3XAHSB6OFCCVX6MNLQE5HZW3VCEGYU4Y", "domain": "home.imedidata.com", "path": "/", "expires": 1778120315.131424, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "BIGipServerpool_mdsol", "value": "3efcf97fd7b5f083085b538a3d602461", "domain": "servicenow.imedidata.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "JSESSIONID", "value": "6A2DC2D24E44CC5E7C9C3116A4D4F529", "domain": "servicenow.imedidata.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "glide_user_route", "value": "glide.df4f2e61aedf6fbac88e1b23aa292d35", "domain": "servicenow.imedidata.com", "path": "/", "expires": 1812615510.100069, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "glide_node_id_for_js", "value": "5110ac4c61da94aadf8e02d90519a2b7b7ad6f6a685189b8e68eb54bad3aa1ba", "domain": "servicenow.imedidata.com", "path": "/", "expires": -1, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "BIGipServerpool_mdsol", "value": "15dcd1a506865ba47e33e51b51434087", "domain": "mdsol.service-now.com", "path": "/", "expires": -1, "httpOnly": true, "secure": true, "sameSite": "None"}], "origins": [{"origin": "https://home.imedidata.com", "localStorage": [{"name": "unleash:repository:sessionId", "value": "\"929910299\""}, {"name": "i18nextLng", "value": "eng"}, {"name": "_pendo_visitorId.f1fccb65-26a8-4237-68a0-b94145c31070", "value": "{\"ttl\":1786695509872,\"value\":\"vbuzalka@its.jnj.com\"}"}, {"name": "_pendo_accountId.f1fccb65-26a8-4237-68a0-b94145c31070", "value": "{\"ttl\":1786695509884,\"value\":\"NOT_A_STUDY_ENVIRONMENT\"}"}, {"name": "_pendo_utm.f1fccb65-26a8-4237-68a0-b94145c31070", "value": "{\"referrer\":\"home.imedidata.com\"}"}, {"name": "unleash:repository:repo", "value": "[{\"name\":\"platform_admin_cloudadmin_downloads\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_admin_global_nav_rollout\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_admin_icat_bulk_sea_removal\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_admin_icat_roles\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_admin_people_list\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_admin_ssu_enable_cdo_updates\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_analytics_context_support\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_analytics_eks_etl\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_analytics_eks_use_processes\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_analytics_enable_new_stored_procedures\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_analytics_enable_stored_procedures_parallel_execution\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_analytics_extractor_rollout\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_analytics_rave_db_alias\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_analytics_ts_rollout\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_applinks_skip_rsg_quirk\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_assistant_dynamodb\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_assistant_use_dynamic_agent_config\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_broadcast_notification_enable_roles\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_cas_enable_1x\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_cas_enable_scim_user_heartbeat\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_cas_enforce_eula\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_cas_inclusive_namespaces\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_cas_outbox\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_cas_remember_multi_user\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_default_role_selection\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_enable_1x_forward_navigation\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_enable_faro\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_enable_linked_accounts\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_enable_range_request_for_elearning\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_enable_service_now\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_inject_scripts\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_patients_clear_action_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_se_only_roles_on_sites\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_checkmate_send_user_activity\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_cloud_admin_term_changes\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_cloud_admin_tm_unblinded\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_csa_cache_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_csa_detect_max_parallel_calls\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_consume_user_deactivated_attr\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_daltonized_autogen_roles_app_bb_mapping\",\"enabled\":true,\"variant\":{\"name\":\"all_special_case_apps\",\"enabled\":true,\"payload\":{\"type\":\"json\",\"value\":\"{\\n \\\"5b3a22d0-5193-4604-822e-2e1bacfba880\\\": \\\"work_with_documents_and_tasks\\\",\\n \\\"1b28a9f0-16ed-464e-9635-c23c351b26cb\\\":\\n \\\"access_site_cloud_end_of_study_eos\\\",\\n \\\"1b44906e-cc4f-40d0-91ce-54801c728527\\\":\\n \\\"meds_reporter_standard_reports\\\"\\n}\"}},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_enable_study_startup_applied_permissions\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_grants_use_advisory_locks\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_kafka_for_study_environment_sites\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_neo_elevate_swap_owner_building_blocks\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_no_reader_role_cascade\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_priv_scoped_bulk_operable_uri_case_fix\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_scientist_cds_level_items_use_candidate\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_scientist_cte_function_use_candidate\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_scientist_priv_index_better_redis_use_candidate\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_uppercase_uuid_operables_special_loading_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_dalton_use_conduct_only_attribute_collections\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_daltonui_bb_group_categorization\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_datahub_enable_custom_code_filter\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_graphql_other_sorting_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_graphql_ses_sorting_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_graphql_study_group_sorting_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_graphql_study_sorting_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_hercules_enable_delete_dj_by_schedule_uuid\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_hercules_expire_executions_without_offset\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_account_activation_1x_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_account_linkage_request_onex_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_account_number_request_onex_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_app_type_groups_api\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_assign_any_apps\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_auto_accept_invitations\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_bulk_create_study_site_assignments\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_change_email_confirmation_onex_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_change_password_confirmation_1x_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_dalton_sync_app_roles\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_disable_individual_site_ownership\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_disable_v1_api_user_auth_via_soap\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_duplicate_activation_1x_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_enable_bulk_sqs_batching\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_enable_knowledge_hub_links\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_enable_leaked_passwords_check_on_activate\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_enable_leaked_passwords_check_on_update\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_enable_new_certificate\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_enable_non_mcc_tenjin_mapping_sync\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_enable_sgi_si_archon_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_expired_password_1x_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_export_course_mappings\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_external_edc_feature\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_filter_hidden_apps\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_forgotten_password_1x_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_gnav_enable_users_if_they_are_disabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_ignore_email_domains_for_mfa\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_manage_elearning\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_manipulate_sgi_prevention\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_mcc_enable_sgi_si_archon_notification\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_mda_disable_invitations_fallback\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_mda_process_invitations_with_plinth\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_mda_sync_non_mcc_course_override_with_tenjin\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_mfa_enforcement_notice\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_notification_center_link\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_outbox\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_redirect_all_users_to_global_nav\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_remove_help_center_link\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_skip_update_app_assignments_enabled_at\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_stop_multi_aar_updates_on_enabled_at\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_study_site_pi_to_tm_job_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_trigger_bbs_rename\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_update_telephone_search_ff\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_imedidata_use_elearning_status\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mcc_1x_manage_organizations_landing_page\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_1x_manage_sites\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_1x_site_administration\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_access_mgmt_locked_study\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_app_names\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_enable_address_three\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_onex_manage_teams\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":true,\"impressionData\":true},{\"name\":\"platform_mccadmin_study_ip\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_study_program\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_team_mgmt_locked_study\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mccadmin_use_cdo_report_api\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_mediloader_allow_updates_any_apps\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_name_format_localization\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_notification_center_calendar_via_smtp\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_notification_center_enable_mfe\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_notification_center_enable_migrated_types\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_notification_center_enable_rate_limit\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_notification_center_enable_types_api\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_participant_events_participant_events_outbox\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_phoenix_access_mgmt_locked_study\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_phoenix_team_mgmt_locked_study\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_plinth_access_mgmt_locked_study\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_plinth_allow_blank_roles\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_plinth_allow_geo_location_on_address\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_plinth_remove_homepage_handling\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_plinth_study_apps_skip_post\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_plinth_team_mgmt_locked_study\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_collapsible_left_nav\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_audit_viewer\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_client_sort\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_search_dropdown\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_site_sort\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_sites_dropdown_search_sort\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_studies_dropdown_search_sort\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_study_group_sort\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_study_sort\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_support_portal_link\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_val_portal\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_enable_zoomin\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_hide_chat_with_support\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_hide_report_an_issue\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_new_notification_center\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_portal_new_user_profile\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_proxy_enable_websocket_rtt_measurement\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_proxy_enforce_mfa\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_proxy_user_activation\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_recenthistory_consume_replay_events\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_references_iso_upgrade\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_saa_lambda_processing_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_shared_fetch_new_roles_use_hercules\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_shared_role_based_elearning_ui\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_subjects_bulk_fetch_subject_sync\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_subjects_bypass_internal_ct_role_cache\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_subjects_crf_versions_enabled\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_subjects_index_api_db_paging\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_subjects_kafka_post_endpoint\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_subjects_outbox\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_subjects_thread_safe_subject_auditing\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_subjects_use_new_df_msk_cluster\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_tenjin_check_cascade_course_mapping\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_tenjin_new_course_completion\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_tenjin_outbox\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_tenjin_scientist_assigned_courses_use_candidate\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_tenjin_sidekiq_authentication\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_ui_1x_password_reset\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_ui_enable_linked_accounts\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_ui_linked_account_enhancement\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_ui_recent_sites_without_app_context\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_ui_recent_studies_without_app_context\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_ui_redesign_my_courses\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_ui_remove_imed_courses\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_user_nav_data_product_consume_replay_events\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_user_nav_data_product_enable_apps_cron\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_va_clean_patient_tracker\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_va_kri\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false},{\"name\":\"platform_va_qtl\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"payload\":null},\"impression_data\":false,\"impressionData\":false}]"}, {"name": "_pendo_meta.f1fccb65-26a8-4237-68a0-b94145c31070", "value": "{\"ttl\":1786695509876,\"value\":3275558043}"}, {"name": "_pendo_guides_blocked.f1fccb65-26a8-4237-68a0-b94145c31070", "value": "{\"ttl\":1778069910129,\"value\":\"0\"}"}, {"name": "_pendo___sg__.f1fccb65-26a8-4237-68a0-b94145c31070", "value": "{\"visitormetadata\":{\"agent__email\":\"vbuzalka@its.jnj.com\"}}"}, {"name": "_pendo_sessionId.f1fccb65-26a8-4237-68a0-b94145c31070", "value": "{\"sessionId\":\"2Hdb7s6tbVzUzmAD\",\"timestamp\":1778055509882}"}, {"name": "ec.last_nav_data", "value": "{\"portal\":\"3413f1c187d675101cf411373cbb35e4\",\"path\":\"https://servicenow.imedidata.com/3413f1c187d675101cf411373cbb35e4\"}"}]}, {"origin": "https://servicenow.imedidata.com", "localStorage": [{"name": "tabKey", "value": "4037.99406441961"}, {"name": "sn.tabs.sn.$sp.activeTab", "value": "ef83c0ef9cb0ef9320efa7e0ef4bf0ef"}, {"name": "now-icon-cache", "value": "{}"}, {"name": "EC_NOTIF_COUNT_MAP", "value": "{\"total\":0,\"Chat\":0,\"Cases\":0,\"Walk-up\":0,\"Technician Visit\":0}"}, {"name": "launchPage", "value": "3413f1c187d675101cf411373cbb35e4"}, {"name": "navigation", "value": "{\"navigationArr\":[]}"}, {"name": "__nxui__unified_cache__version", "value": "undefined"}, {"name": "EC_UNREAD_COUNT_MAP", "value": "{\"total\":0,\"Text\":0,\"Image\":0,\"Link\":0,\"File\":0,\"Html\":0,\"Other\":0,\"Unknown\":0}"}, {"name": "glideStatus", "value": "false"}, {"name": "EC_UNREAD_MSG", "value": "{\"Text\":\"\",\"Image\":\"\",\"Link\":\"\",\"File\":\"\",\"Html\":\"\",\"Other\":\"\",\"Unknown\":\"\"}"}]}]} \ No newline at end of file diff --git a/Medidata/download_report.py b/Medidata/download_report.py new file mode 100644 index 0000000..8fed2ba --- /dev/null +++ b/Medidata/download_report.py @@ -0,0 +1,426 @@ +import os +import sys +from datetime import datetime, timedelta +from pathlib import Path +from dotenv import load_dotenv +from playwright.sync_api import sync_playwright, TimeoutError as PWTimeout + +load_dotenv(Path(__file__).parent / ".env") + +USERNAME = os.getenv("IMEDIDATA_USERNAME", "vladimir.buzalka") +PASSWORD = os.getenv("IMEDIDATA_PASSWORD", "") +DOWNLOAD_DIR = Path(__file__).parent / "downloads" +AUTH_FILE = Path(__file__).parent / "auth.json" +AUTH_MAX_AGE_DAYS = 7 + +LOGIN_URL = "https://login.imedidata.com/login" +SELECT_ROLE_URL = ( + "https://jnjja.mdsol.com/MedidataRave/SelectRole.aspx" + "?client_division_uuid=e5de55d5-a414-4bd1-9abe-18e96fd5475d" + "&study_group_uuid=b0793ca6-33ec-44e8-883b-6fc1a4b671c4" + "&studygroup_id=107981" +) + +STUDY_NAME = "42847922MDD3003" +SITE_GROUP = "CZE" +FORM_NAME = "Date of Visit" +REPORT_ID = 92 # _EDC Std Rpt - Data Listing (Data Stream) + + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + +def auth_valid(): + if not AUTH_FILE.exists(): + return False + age = datetime.now() - datetime.fromtimestamp(AUTH_FILE.stat().st_mtime) + return age < timedelta(days=AUTH_MAX_AGE_DAYS) + + +def wait_load(page, extra_ms=1000): + """Čeká na 'load' event + extra pauza. Rave nikdy nedosáhne networkidle.""" + try: + page.wait_for_load_state("load", timeout=20_000) + except PWTimeout: + pass + page.wait_for_timeout(extra_ms) + + +def dbg(page, label): + print(f"[{label}] URL: {page.url}") + + +# --------------------------------------------------------------------------- +# Login +# --------------------------------------------------------------------------- + +def do_login(page, context): + print("Přihlašuji se do iMedidata...") + page.goto(LOGIN_URL) + wait_load(page, 500) + dbg(page, "login-page") + + # Pole username a password mají jméno session[username] / session[password] + page.wait_for_selector('input[name="session[username]"]', timeout=10_000) + page.fill('input[name="session[username]"]', USERNAME) + page.fill('input[name="session[password]"]', PASSWORD) + page.click('button[type="submit"]') + + # Čekáme na přesměrování — může jít přes OKTA nebo rovnou na home + wait_load(page, 2000) + dbg(page, "after-signin") + + # OKTA MFA? + if _okta_mfa_present(page): + print("\n*** OKTA MFA vyžadována! ***") + otp = input("Zadej OTP kód z OKTA (6 číslic): ").strip() + _fill_otp(page, otp) + # Čekáme na zpracování OTP a redirect zpět na iMedidata + wait_load(page, 3000) + dbg(page, "after-otp") + + # Počkáme až budeme na home.imedidata.com + try: + page.wait_for_url("**/home.imedidata.com**", timeout=30_000) + except PWTimeout: + dbg(page, "wait-home-timeout") + + dbg(page, "final-login") + + if "home.imedidata.com" not in page.url: + print("CHYBA: Přihlášení se nezdařilo! Zkontroluj heslo nebo OKTA kód.") + input("Zmáčkni Enter pro ukončení...") + sys.exit(1) + + context.storage_state(path=str(AUTH_FILE)) + print("Session uložena do auth.json") + + +def _okta_mfa_present(page): + if "okta" in page.url.lower(): + return True + for sel in [ + 'input[name="answer"]', + 'input[name*="otp"]', + 'input[name*="code"]', + 'input[placeholder*="code" i]', + ]: + if page.query_selector(sel): + return True + return False + + +def _fill_otp(page, otp): + for sel in [ + 'input[name="answer"]', + 'input[name*="otp"]', + 'input[name*="code"]', + 'input[type="tel"]', + 'input[placeholder*="code" i]', + ]: + el = page.query_selector(sel) + if el: + el.fill(otp) + page.keyboard.press("Enter") + return + # Záložní: zkusíme první viditelný text input + page.keyboard.type(otp) + page.keyboard.press("Enter") + + +# --------------------------------------------------------------------------- +# Navigace po přihlášení +# --------------------------------------------------------------------------- + +def go_to_select_role(page): + """Přejde na SelectRole stránku a vrátí True pokud jsme tam skutečně.""" + print(f"Navigace na SelectRole...") + page.goto(SELECT_ROLE_URL) + wait_load(page, 1500) + dbg(page, "select-role") + return "login" not in page.url.lower() and "okta" not in page.url.lower() + + +def select_role(page): + """Vybere Site Manager a klikne Continue.""" + print("Vybírám roli Site Manager...") + + # Počkáme na select element + try: + page.wait_for_selector("select", timeout=10_000) + except PWTimeout: + dbg(page, "no-select-found") + return + + # Najdeme select s option Site Manager + selects = page.query_selector_all("select") + found = False + for sel_el in selects: + opts = sel_el.query_selector_all("option") + for opt in opts: + txt = (opt.inner_text() or "").strip() + if "site manager" in txt.lower(): + sel_el.select_option(label=txt) + found = True + print(f" Vybráno: '{txt}'") + break + if found: + break + + if not found: + print(" VAROVÁNÍ: Option 'Site Manager' nenalezena, zkouším kliknout na text...") + try: + page.get_by_text("Site Manager", exact=False).first.click() + except Exception as e: + print(f" {e}") + + # Klikneme Continue + for btn_sel in [ + 'input[value="Continue"]', + 'input[type="submit"]', + 'button:has-text("Continue")', + 'button[type="submit"]', + ]: + try: + btn = page.query_selector(btn_sel) + if btn: + btn.click() + break + except Exception: + continue + + wait_load(page, 2000) + dbg(page, "after-role") + + +def navigate_to_reporter(page): + print("Klikám na Reporter...") + try: + page.wait_for_selector('a:has-text("Reporter")', timeout=15_000) + page.click('a:has-text("Reporter")') + wait_load(page, 1500) + dbg(page, "reporter") + except PWTimeout: + dbg(page, "reporter-not-found") + raise + + +def open_report(page): + print(f"Klikám na report ID={REPORT_ID} (Data Listing - Data Stream)...") + selector = f'a[href="PromptsPage.aspx?ReportID={REPORT_ID}"]' + try: + page.wait_for_selector(selector, timeout=15_000) + page.click(selector) + wait_load(page, 2000) + dbg(page, "report-opened") + except PWTimeout: + dbg(page, "report-not-found") + raise + + +# --------------------------------------------------------------------------- +# Parametry reportu +# --------------------------------------------------------------------------- + +def set_study_param(page): + """Rozbalí Study panel a vybere 42847922MDD3003.""" + print(f" Parametr Study: {STUDY_NAME}") + + page.click('#PromptsBox_st_ShowHideBtn') + page.wait_for_timeout(1500) + + # Checkbox index 0 = 42847922MDD3003 (ověřeno dříve) + page.wait_for_selector('#PromptsBox_st_FrontEndCBList_0', timeout=10_000) + cb = page.locator('#PromptsBox_st_FrontEndCBList_0') + if not cb.is_checked(): + cb.check() + wait_load(page, 3000) + dbg(page, "after-study") + + +def set_site_group_param(page): + """Rozbalí Site Group, vybere CZE a zaškrtne Include Sub Site Groups.""" + print(f" Parametr Site Group: {SITE_GROUP}") + + # Rozbalit Site Group panel + page.click('#PromptsBox_sg_ShowHideBtn') + page.wait_for_timeout(1500) + + # Vybrat CZE a spustit change event (jinak postback nepřijde) + page.wait_for_selector('#PromptsBox_sg_List', timeout=10_000) + page.select_option('#PromptsBox_sg_List', label=SITE_GROUP) + page.evaluate("document.querySelector('#PromptsBox_sg_List').dispatchEvent(new Event('change', {bubbles:true}))") + wait_load(page, 2000) + + # Include Sub Site Groups + print(" Include Sub Site Groups: zapnuto") + cb = page.locator('#PromptsBox_sg_CheckBox') + if not cb.is_checked(): + cb.check() + page.evaluate("document.querySelector('#PromptsBox_sg_CheckBox').dispatchEvent(new Event('change', {bubbles:true}))") + wait_load(page, 2000) + + # Zavřít panel = potvrzení výběru, spustí postback pro Form + page.click('#PromptsBox_sg_ShowHideBtn') + wait_load(page, 3000) + dbg(page, "after-site-group") + + +def set_form_param(page): + """Rozbalí Form panel, vyhledá Date of Visit a zaškrtne ho.""" + print(f" Parametr Form: {FORM_NAME}") + + page.click('#PromptsBox_fm2_ShowHideBtn') + page.wait_for_timeout(2000) + + # Vyplnit search a odeslat Enterem — výsledek je okamžitý + page.wait_for_selector('#PromptsBox_fm2_SearchTxt', timeout=10_000) + page.fill('#PromptsBox_fm2_SearchTxt', FORM_NAME) + page.locator('#PromptsBox_fm2_SearchTxt').press('Enter') + page.wait_for_timeout(800) + + # Zaškrtneme první (jediný) výsledek + cbs = page.query_selector_all('input[id^="PromptsBox_fm2_FrontEndCBList_"]') + if cbs: + if not cbs[0].is_checked(): + cbs[0].click() + print(f" '{FORM_NAME}' zaškrtnuto") + wait_load(page, 500) + return + + print(f" VAROVÁNÍ: '{FORM_NAME}' nenalezen!") + + +# --------------------------------------------------------------------------- +# Submit a download +# --------------------------------------------------------------------------- + +def submit_and_download(page, context): + print("Odesílám report (čekám na nové okno)...") + + with context.expect_page() as new_page_info: + page.locator('input[value="Submit Report"], button:has-text("Submit Report")').first.click() + + new_page = new_page_info.value + new_page.wait_for_url(lambda url: url != 'about:blank', timeout=30_000) + # Čekáme až se zobrazí Download File — stránka nejdřív ukazuje "Loading" + print(" Čekám na vygenerování reportu...") + new_page.wait_for_selector( + 'input[value="Download File"], button:has-text("Download File")', + timeout=300_000 # až 5 minut pro velké reporty + ) + new_page.wait_for_timeout(500) + dbg(new_page, "download-window") + + # Nastavení parametrů stahování + print(" Nastavuji parametry stahování...") + + # Separator: čárka (default) + sep = new_page.query_selector('input[name*="Separator"], input[name*="separator"]') + if sep: + sep.fill(',') + + # File type: .csv + # Formulář je v iframu — najdeme správný frame + target_frame = new_page.main_frame + for frame in new_page.frames: + if frame.query_selector('select') or frame.query_selector('input[value="Download File"]'): + target_frame = frame + print(f" Frame nalezen: {frame.url}") + break + + # File type: .csv (application/vnd.ms-excel) + for sel in target_frame.query_selector_all('select'): + for opt in sel.query_selector_all('option'): + val = opt.get_attribute('value') or '' + txt = opt.inner_text() or '' + if 'vnd.ms-excel' in val or 'vnd.ms-excel' in txt: + sel.select_option(value=val) + print(" File type: .csv (application/vnd.ms-excel)") + break + + # Export type: attachment + for sel in target_frame.query_selector_all('select'): + for opt in sel.query_selector_all('option'): + if 'attachment' in (opt.get_attribute('value') or '').lower(): + sel.select_option(value='attachment') + break + + # Save as Unicode: necháme nezaškrtnuté (default) + + timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M") + filename = f"{timestamp}_EDC_MDD3003_DataListing.csv" + output_path = DOWNLOAD_DIR / filename + + print("Stahuji CSV...") + with new_page.expect_download(timeout=60_000) as dl_info: + btn = target_frame.query_selector('input[value="Download File"], button:has-text("Download File")') + if btn: + btn.click() + else: + new_page.locator('input[value="Download File"], button:has-text("Download File")').first.click() + + download = dl_info.value + download.save_as(str(output_path)) + print(f"\nHotovo! Soubor uložen: {output_path}") + return output_path + + +# --------------------------------------------------------------------------- +# Hlavní flow +# --------------------------------------------------------------------------- + +def run(): + if not PASSWORD: + print("Chyba: nastav IMEDIDATA_PASSWORD v souboru .env") + sys.exit(1) + + DOWNLOAD_DIR.mkdir(exist_ok=True) + + with sync_playwright() as p: + browser = p.chromium.launch(headless=False, slow_mo=200) + ctx_kwargs = {"accept_downloads": True} + + use_saved = auth_valid() + if use_saved: + print("Načítám uloženou session (auth.json)...") + ctx_kwargs["storage_state"] = str(AUTH_FILE) + + context = browser.new_context(**ctx_kwargs) + page = context.new_page() + + # Přejdeme na SelectRole + logged_in = go_to_select_role(page) + + if not logged_in: + if use_saved: + print("Session expirovala, mažu auth.json a přihlašuji znovu...") + AUTH_FILE.unlink(missing_ok=True) + do_login(page, context) + go_to_select_role(page) + + # Krok 4: výběr role → přiřadí session ID + select_role(page) + + # Krok 5: Reporter + navigate_to_reporter(page) + + # Krok 6: otevření reportu + open_report(page) + + # Krok 7: nastavení parametrů + print("Nastavuji parametry reportu...") + set_study_param(page) + set_site_group_param(page) + set_form_param(page) + + # Krok 8: odeslání a stažení + output = submit_and_download(page, context) + + input("\nZmáčkni Enter pro zavření prohlížeče...") + browser.close() + + +if __name__ == "__main__": + run() diff --git a/Medidata/downloads/2009-05-04 Puzzle SudokuKiller 376 [difficulty 4 of 10] [average solving time 30 min].pdf b/Medidata/downloads/2009-05-04 Puzzle SudokuKiller 376 [difficulty 4 of 10] [average solving time 30 min].pdf new file mode 100644 index 0000000000000000000000000000000000000000..3c6500512d44b4fd13d5d5e1f91a3a2e758a3b1e GIT binary patch literal 16196 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 Zs}s=B5%{kNnc2D7Sz#$C#1$oA{~vai1ik