Created
February 11, 2026 18:42
-
-
Save joaovicente/65c3f7238ba53f8e46620ad68710788d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [ | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "NSV", | |
| "id": "development.safety.nsv_source", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "dataSource" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "veevaVault" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Reltio", | |
| "id": "development.safety.mdm_rdm_source", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "dataSource" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "reltio" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.nsv_case_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for case_main in NSV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "case_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "type_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.nsv_case_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for case_details in NSV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "case_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "detail_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "parent_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "uom_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.nsv_case_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for case_audit in NSV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "case_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "timestamp_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "new_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "NSV", | |
| "id": "development.safety.nsv", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "sourceAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "case_main", | |
| "version": "1", | |
| "contractId": "development.safety.nsv_case_main_contract" | |
| }, | |
| { | |
| "name": "case_details", | |
| "version": "1", | |
| "contractId": "development.safety.nsv_case_details_contract" | |
| }, | |
| { | |
| "name": "case_audit", | |
| "version": "1", | |
| "contractId": "development.safety.nsv_case_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.mdm_rdm_master_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_main in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "type_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.mdm_rdm_master_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_details in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "detail_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "uom_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.mdm_rdm_master_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_audit in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "new_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "MDM RDM", | |
| "id": "development.safety.mdm_rdm", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "sourceAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "master_main", | |
| "version": "1", | |
| "contractId": "development.safety.mdm_rdm_master_main_contract" | |
| }, | |
| { | |
| "name": "master_details", | |
| "version": "1", | |
| "contractId": "development.safety.mdm_rdm_master_details_contract" | |
| }, | |
| { | |
| "name": "master_audit", | |
| "version": "1", | |
| "contractId": "development.safety.mdm_rdm_master_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.nsv_source-development.safety.nsv", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NSV to NSV", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.nsv_source" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.nsv" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.mdm_rdm_source-development.safety.mdm_rdm", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Reltio to MDM RDM", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.mdm_rdm_source" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.mdm_rdm" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.adverse_events_cases_contract", | |
| "description": { | |
| "purpose": "Data Contract for cases in Adverse Events" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "cases", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "case_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CAS-2026-001", | |
| "CAS-2026-002", | |
| "CAS-2026-003" | |
| ] | |
| }, | |
| { | |
| "name": "safety_report_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "SR-EU-001", | |
| "SR-US-005", | |
| "SR-JP-009" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "safety_report_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "receipt_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "seriousity", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "patient_age", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "patient_age_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "patient_sex", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "patient_sex_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "country", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "United States", | |
| "Germany", | |
| "Japan" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "country_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "reporter_type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Physician", | |
| "Pharmacist", | |
| "Consumer" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.adverse_events_reactions_contract", | |
| "description": { | |
| "purpose": "Data Contract for reactions in Adverse Events" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "reactions", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "reaction_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REA-001", | |
| "REA-002", | |
| "REA-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "reaction_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "case_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CAS-2026-001", | |
| "CAS-2026-002", | |
| "CAS-2026-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "case_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "pt_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Headache", | |
| "Nausea", | |
| "Dizziness" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "pt_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "soc_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Nervous system disorders", | |
| "Gastrointestinal disorders", | |
| "Nervous system disorders" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "soc_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "outcome", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Recovered", | |
| "Not Recovered", | |
| "Unknown" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "outcome_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "start_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "end_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "duration", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "duration_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.adverse_events_products_contract", | |
| "description": { | |
| "purpose": "Data Contract for products in Adverse Events" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "products", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "product_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PRO-001", | |
| "PRO-002", | |
| "PRO-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "product_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "case_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CAS-2026-001", | |
| "CAS-2026-002", | |
| "CAS-2026-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "case_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "product_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Aspirin", | |
| "Ibuprofen", | |
| "Paracetamol" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "product_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "dosage", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "100mg", | |
| "200mg", | |
| "500mg" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "dosage_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "route_of_admin", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Oral", | |
| "Intravenous", | |
| "Topical" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "route_of_admin_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "indication", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Pain", | |
| "Fever", | |
| "Inflammation" | |
| ] | |
| }, | |
| { | |
| "name": "action_taken", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "None", | |
| "Dose Reduced", | |
| "Drug Withdrawn" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "action_taken_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Adverse Events", | |
| "id": "development.safety.adverse_events", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "cases", | |
| "version": "1", | |
| "contractId": "development.safety.adverse_events_cases_contract" | |
| }, | |
| { | |
| "name": "reactions", | |
| "version": "1", | |
| "contractId": "development.safety.adverse_events_reactions_contract" | |
| }, | |
| { | |
| "name": "products", | |
| "version": "1", | |
| "contractId": "development.safety.adverse_events_products_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.signal_detection_signals_contract", | |
| "description": { | |
| "purpose": "Data Contract for signals in Signal Detection" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "signals", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "signal_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "SIG-8821", | |
| "SIG-9921", | |
| "SIG-7721" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "signal_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "signal_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "signal_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "detection_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "detection_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ] | |
| }, | |
| { | |
| "name": "priority", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "priority_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "assigned_to", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "due_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "due_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "validation_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.signal_detection_signal_stats_contract", | |
| "description": { | |
| "purpose": "Data Contract for signal_stats in Signal Detection" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "signal_stats", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "stat_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "STA-001", | |
| "STA-002", | |
| "STA-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "stat_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "signal_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "SIG-8821", | |
| "SIG-9921", | |
| "SIG-7721" | |
| ] | |
| }, | |
| { | |
| "name": "ebgm_score", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "0.95", | |
| "0.88", | |
| "0.72" | |
| ] | |
| }, | |
| { | |
| "name": "prr_score", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "0.95", | |
| "0.88", | |
| "0.72" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "prr_score_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "case_count", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10", | |
| "55", | |
| "100" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "case_count_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "expected_count", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10", | |
| "55", | |
| "100" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "expected_count_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "chi_square", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "chi_square_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.signal_detection_assessments_contract", | |
| "description": { | |
| "purpose": "Data Contract for assessments in Signal Detection" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "assessments", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "assessment_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ASS-001", | |
| "ASS-002", | |
| "ASS-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "assessment_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "signal_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "SIG-8821", | |
| "SIG-9921", | |
| "SIG-7721" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "signal_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "assessor", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Dr. Smith", | |
| "Dr. Jones", | |
| "Dr. Doe" | |
| ] | |
| }, | |
| { | |
| "name": "assessment_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "outcome", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Recovered", | |
| "Not Recovered", | |
| "Unknown" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "outcome_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "comments", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "next_steps", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "next_steps_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Signal Detection", | |
| "id": "development.safety.signal_detection", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "signals", | |
| "version": "1", | |
| "contractId": "development.safety.signal_detection_signals_contract" | |
| }, | |
| { | |
| "name": "signal_stats", | |
| "version": "1", | |
| "contractId": "development.safety.signal_detection_signal_stats_contract" | |
| }, | |
| { | |
| "name": "assessments", | |
| "version": "1", | |
| "contractId": "development.safety.signal_detection_assessments_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.risk_management_rmps_contract", | |
| "description": { | |
| "purpose": "Data Contract for rmps in Risk Management" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "rmps", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "rmp_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "RMP-X1", | |
| "RMP-X2", | |
| "RMP-X3" | |
| ] | |
| }, | |
| { | |
| "name": "product_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Aspirin", | |
| "Ibuprofen", | |
| "Paracetamol" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "product_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "submission_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "submission_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "approval_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "approval_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "version", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "region", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "North America", | |
| "EMEA", | |
| "APAC" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "region_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.risk_management_risks_contract", | |
| "description": { | |
| "purpose": "Data Contract for risks in Risk Management" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "risks", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "risk_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "RIS-001", | |
| "RIS-002", | |
| "RIS-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "risk_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "rmp_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "RMP-X1", | |
| "RMP-X2", | |
| "RMP-X3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "rmp_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "risk_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "risk_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "risk_category", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "risk_category_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "risk_level", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "risk_level_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "mitigation_strategy", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "mitigation_strategy_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.risk_management_commitments_contract", | |
| "description": { | |
| "purpose": "Data Contract for commitments in Risk Management" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "commitments", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "commitment_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "COM-001", | |
| "COM-002", | |
| "COM-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "commitment_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "rmp_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "RMP-X1", | |
| "RMP-X2", | |
| "RMP-X3" | |
| ] | |
| }, | |
| { | |
| "name": "activity_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "due_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "due_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "completion_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Risk Management", | |
| "id": "development.safety.risk_management", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "rmps", | |
| "version": "1", | |
| "contractId": "development.safety.risk_management_rmps_contract" | |
| }, | |
| { | |
| "name": "risks", | |
| "version": "1", | |
| "contractId": "development.safety.risk_management_risks_contract" | |
| }, | |
| { | |
| "name": "commitments", | |
| "version": "1", | |
| "contractId": "development.safety.risk_management_commitments_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.nsv-development.safety.adverse_events", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NSV to Adverse Events", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.nsv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.adverse_events" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.mdm_rdm-development.safety.adverse_events", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Adverse Events", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.adverse_events" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.nsv-development.safety.signal_detection", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NSV to Signal Detection", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.nsv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.signal_detection" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.mdm_rdm-development.safety.signal_detection", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Signal Detection", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.signal_detection" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.nsv-development.safety.risk_management", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NSV to Risk Management", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.nsv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.risk_management" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.mdm_rdm-development.safety.risk_management", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Risk Management", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.risk_management" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.safety_dashboard_dash_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for dash_main in Safety Dashboard" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "dash_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "updated_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "type_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.safety_dashboard_dash_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for dash_details in Safety Dashboard" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "dash_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "uom_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.safety_dashboard_dash_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for dash_audit in Safety Dashboard" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "dash_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Safety Dashboard", | |
| "id": "development.safety.safety_dashboard", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "consumerAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "dash_main", | |
| "version": "1", | |
| "contractId": "development.safety.safety_dashboard_dash_main_contract" | |
| }, | |
| { | |
| "name": "dash_details", | |
| "version": "1", | |
| "contractId": "development.safety.safety_dashboard_dash_details_contract" | |
| }, | |
| { | |
| "name": "dash_audit", | |
| "version": "1", | |
| "contractId": "development.safety.safety_dashboard_dash_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.compliance_report_comp_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for comp_main in Compliance Report" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "comp_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "created_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "updated_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "type_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.compliance_report_comp_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for comp_details in Compliance Report" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "comp_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "parent_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "uom_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.safety.compliance_report_comp_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for comp_audit in Compliance Report" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "comp_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "action_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "timestamp_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "new_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Compliance Report", | |
| "id": "development.safety.compliance_report", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "consumerAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "comp_main", | |
| "version": "1", | |
| "contractId": "development.safety.compliance_report_comp_main_contract" | |
| }, | |
| { | |
| "name": "comp_details", | |
| "version": "1", | |
| "contractId": "development.safety.compliance_report_comp_details_contract" | |
| }, | |
| { | |
| "name": "comp_audit", | |
| "version": "1", | |
| "contractId": "development.safety.compliance_report_comp_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.adverse_events-development.safety.safety_dashboard", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Adverse Events to Safety Dashboard", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.adverse_events" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.safety_dashboard" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.risk_management-development.safety.compliance_report", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Risk Management to Compliance Report", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.risk_management" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.compliance_report" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Safety Dashboard", | |
| "id": "development.safety.safety_dashboard_app", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "application" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "powerBi" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.safety_dashboard-development.safety.safety_dashboard_app", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Safety Dashboard to Safety Dashboard", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.safety_dashboard" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.safety_dashboard_app" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Compliance Report", | |
| "id": "development.safety.compliance_report_app", | |
| "domain": "development.safety", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "application" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "powerBi" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.compliance_report-development.safety.compliance_report_app", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Compliance Report to Compliance Report", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.compliance_report" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.safety.compliance_report_app" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "NRV", | |
| "id": "development.regulatory.nrv_source", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "dataSource" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "veevaVault" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Reltio", | |
| "id": "development.regulatory.mdm_rdm_source", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "dataSource" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "reltio" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.nrv_submission_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for submission_main in NRV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "submission_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "created_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "updated_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "type_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.nrv_submission_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for submission_details in NRV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "submission_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.nrv_submission_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for submission_audit in NRV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "submission_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "timestamp_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "new_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "NRV", | |
| "id": "development.regulatory.nrv", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "sourceAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "submission_main", | |
| "version": "1", | |
| "contractId": "development.regulatory.nrv_submission_main_contract" | |
| }, | |
| { | |
| "name": "submission_details", | |
| "version": "1", | |
| "contractId": "development.regulatory.nrv_submission_details_contract" | |
| }, | |
| { | |
| "name": "submission_audit", | |
| "version": "1", | |
| "contractId": "development.regulatory.nrv_submission_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.mdm_rdm_master_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_main in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "created_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "updated_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "type_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.mdm_rdm_master_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_details in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "detail_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "parent_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.mdm_rdm_master_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_audit in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "MDM RDM", | |
| "id": "development.regulatory.mdm_rdm", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "sourceAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "master_main", | |
| "version": "1", | |
| "contractId": "development.regulatory.mdm_rdm_master_main_contract" | |
| }, | |
| { | |
| "name": "master_details", | |
| "version": "1", | |
| "contractId": "development.regulatory.mdm_rdm_master_details_contract" | |
| }, | |
| { | |
| "name": "master_audit", | |
| "version": "1", | |
| "contractId": "development.regulatory.mdm_rdm_master_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.nrv_source-development.regulatory.nrv", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NRV to NRV", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.nrv_source" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.nrv" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.mdm_rdm_source-development.regulatory.mdm_rdm", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Reltio to MDM RDM", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.mdm_rdm_source" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.mdm_rdm" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.submissions_applications_contract", | |
| "description": { | |
| "purpose": "Data Contract for applications in Submissions" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "applications", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "app_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "APP-20021", | |
| "APP-20022", | |
| "APP-20023" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "app_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "product_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Aspirin", | |
| "Ibuprofen", | |
| "Paracetamol" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "product_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "region", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "North America", | |
| "EMEA", | |
| "APAC" | |
| ] | |
| }, | |
| { | |
| "name": "app_type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "app_type_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "submission_status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Active", | |
| "Pending", | |
| "Closed" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "submission_status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "approval_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "agency", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "FDA", | |
| "EMA", | |
| "PMDA" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.submissions_sequences_contract", | |
| "description": { | |
| "purpose": "Data Contract for sequences in Submissions" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "sequences", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "seq_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "SEQ-001", | |
| "SEQ-002", | |
| "SEQ-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "seq_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "app_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "APP-20021", | |
| "APP-20022", | |
| "APP-20023" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "app_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "seq_number", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "seq_number_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "submission_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "submission_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "submission_type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ] | |
| }, | |
| { | |
| "name": "xml_file", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "validation_status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Active", | |
| "Pending", | |
| "Closed" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.submissions_documents_contract", | |
| "description": { | |
| "purpose": "Data Contract for documents in Submissions" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "documents", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "doc_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DOC-001", | |
| "DOC-002", | |
| "DOC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "doc_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "seq_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "SEQ-001", | |
| "SEQ-002", | |
| "SEQ-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "seq_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "doc_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "doc_type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ] | |
| }, | |
| { | |
| "name": "version", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "version_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "author", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Regulatory Affairs", | |
| "Safety Team", | |
| "Clinical Ops" | |
| ] | |
| }, | |
| { | |
| "name": "lifecycle_status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Active", | |
| "Pending", | |
| "Closed" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "lifecycle_status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Submissions", | |
| "id": "development.regulatory.submissions", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "applications", | |
| "version": "1", | |
| "contractId": "development.regulatory.submissions_applications_contract" | |
| }, | |
| { | |
| "name": "sequences", | |
| "version": "1", | |
| "contractId": "development.regulatory.submissions_sequences_contract" | |
| }, | |
| { | |
| "name": "documents", | |
| "version": "1", | |
| "contractId": "development.regulatory.submissions_documents_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.registrations_authorizations_contract", | |
| "description": { | |
| "purpose": "Data Contract for authorizations in Registrations" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "authorizations", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "auth_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUTH-EU-01", | |
| "AUTH-US-02", | |
| "AUTH-JP-03" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "auth_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "product_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Aspirin", | |
| "Ibuprofen", | |
| "Paracetamol" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "product_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "country", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "United States", | |
| "Germany", | |
| "Japan" | |
| ] | |
| }, | |
| { | |
| "name": "auth_status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Active", | |
| "Pending", | |
| "Closed" | |
| ] | |
| }, | |
| { | |
| "name": "auth_number", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "valid_from", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "VAL-001", | |
| "VAL-002", | |
| "VAL-003" | |
| ] | |
| }, | |
| { | |
| "name": "valid_to", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "VAL-001", | |
| "VAL-002", | |
| "VAL-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "valid_to_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "holder", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "holder_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.registrations_post_market_activities_contract", | |
| "description": { | |
| "purpose": "Data Contract for post_market_activities in Registrations" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "post_market_activities", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "activity_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ACT-001", | |
| "ACT-002", | |
| "ACT-003" | |
| ] | |
| }, | |
| { | |
| "name": "auth_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUTH-EU-01", | |
| "AUTH-US-02", | |
| "AUTH-JP-03" | |
| ] | |
| }, | |
| { | |
| "name": "activity_type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ] | |
| }, | |
| { | |
| "name": "due_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "due_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.registrations_conditions_contract", | |
| "description": { | |
| "purpose": "Data Contract for conditions in Registrations" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "conditions", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "condition_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CON-001", | |
| "CON-002", | |
| "CON-003" | |
| ] | |
| }, | |
| { | |
| "name": "auth_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUTH-EU-01", | |
| "AUTH-US-02", | |
| "AUTH-JP-03" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "auth_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "condition_text", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "condition_text_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "deadline", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "fulfillment_status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Active", | |
| "Pending", | |
| "Closed" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "fulfillment_status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Registrations", | |
| "id": "development.regulatory.registrations", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "authorizations", | |
| "version": "1", | |
| "contractId": "development.regulatory.registrations_authorizations_contract" | |
| }, | |
| { | |
| "name": "post_market_activities", | |
| "version": "1", | |
| "contractId": "development.regulatory.registrations_post_market_activities_contract" | |
| }, | |
| { | |
| "name": "conditions", | |
| "version": "1", | |
| "contractId": "development.regulatory.registrations_conditions_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.labeling_labels_contract", | |
| "description": { | |
| "purpose": "Data Contract for labels in Labeling" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "labels", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "label_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "LBL-V1.0", | |
| "LBL-V1.1", | |
| "LBL-V2.0" | |
| ] | |
| }, | |
| { | |
| "name": "product_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Aspirin", | |
| "Ibuprofen", | |
| "Paracetamol" | |
| ] | |
| }, | |
| { | |
| "name": "label_type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "label_type_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "version", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "version_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "approval_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "approval_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "effective_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "effective_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.labeling_ccds_contract", | |
| "description": { | |
| "purpose": "Data Contract for ccds in Labeling" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "ccds", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "ccds_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CCD-001", | |
| "CCD-002", | |
| "CCD-003" | |
| ] | |
| }, | |
| { | |
| "name": "product_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Aspirin", | |
| "Ibuprofen", | |
| "Paracetamol" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "product_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "version", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "version_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "safety_info", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "indications", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "indications_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "contraindications", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "warnings", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "warnings_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.labeling_deviations_contract", | |
| "description": { | |
| "purpose": "Data Contract for deviations in Labeling" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "deviations", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "deviation_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DEV-001", | |
| "DEV-002", | |
| "DEV-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "deviation_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "label_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "LBL-V1.0", | |
| "LBL-V1.1", | |
| "LBL-V2.0" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "label_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "ccds_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CCD-001", | |
| "CCD-002", | |
| "CCD-003" | |
| ] | |
| }, | |
| { | |
| "name": "justification", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "justification_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "approval_status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Active", | |
| "Pending", | |
| "Closed" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "approval_status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "impact_assessment", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Labeling", | |
| "id": "development.regulatory.labeling", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "labels", | |
| "version": "1", | |
| "contractId": "development.regulatory.labeling_labels_contract" | |
| }, | |
| { | |
| "name": "ccds", | |
| "version": "1", | |
| "contractId": "development.regulatory.labeling_ccds_contract" | |
| }, | |
| { | |
| "name": "deviations", | |
| "version": "1", | |
| "contractId": "development.regulatory.labeling_deviations_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.nrv-development.regulatory.submissions", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NRV to Submissions", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.nrv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.submissions" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.mdm_rdm-development.regulatory.submissions", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Submissions", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.submissions" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.nrv-development.regulatory.registrations", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NRV to Registrations", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.nrv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.registrations" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.mdm_rdm-development.regulatory.registrations", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Registrations", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.registrations" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.nrv-development.regulatory.labeling", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NRV to Labeling", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.nrv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.labeling" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.mdm_rdm-development.regulatory.labeling", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Labeling", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.labeling" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.submission_readiness_ready_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for ready_main in Submission Readiness" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "ready_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "created_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "updated_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.submission_readiness_ready_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for ready_details in Submission Readiness" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "ready_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "detail_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "parent_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.submission_readiness_ready_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for ready_audit in Submission Readiness" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "ready_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "action_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Submission Readiness", | |
| "id": "development.regulatory.submission_readiness", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "consumerAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "ready_main", | |
| "version": "1", | |
| "contractId": "development.regulatory.submission_readiness_ready_main_contract" | |
| }, | |
| { | |
| "name": "ready_details", | |
| "version": "1", | |
| "contractId": "development.regulatory.submission_readiness_ready_details_contract" | |
| }, | |
| { | |
| "name": "ready_audit", | |
| "version": "1", | |
| "contractId": "development.regulatory.submission_readiness_ready_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.labeling_tracking_track_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for track_main in Labeling Tracking" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "track_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "created_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "type_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.labeling_tracking_track_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for track_details in Labeling Tracking" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "track_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "parent_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "uom_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.regulatory.labeling_tracking_track_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for track_audit in Labeling Tracking" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "track_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Labeling Tracking", | |
| "id": "development.regulatory.labeling_tracking", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "consumerAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "track_main", | |
| "version": "1", | |
| "contractId": "development.regulatory.labeling_tracking_track_main_contract" | |
| }, | |
| { | |
| "name": "track_details", | |
| "version": "1", | |
| "contractId": "development.regulatory.labeling_tracking_track_details_contract" | |
| }, | |
| { | |
| "name": "track_audit", | |
| "version": "1", | |
| "contractId": "development.regulatory.labeling_tracking_track_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.submissions-development.regulatory.submission_readiness", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Submissions to Submission Readiness", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.submissions" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.submission_readiness" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.labeling-development.regulatory.labeling_tracking", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Labeling to Labeling Tracking", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.labeling" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.labeling_tracking" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Submission Readiness", | |
| "id": "development.regulatory.submission_readiness_app", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "application" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "powerBi" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.submission_readiness-development.regulatory.submission_readiness_app", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Submission Readiness to Submission Readiness", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.submission_readiness" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.submission_readiness_app" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Labeling Tracking", | |
| "id": "development.regulatory.labeling_tracking_app", | |
| "domain": "development.regulatory", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "application" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "powerBi" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.regulatory.labeling_tracking-development.regulatory.labeling_tracking_app", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Labeling Tracking to Labeling Tracking", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.regulatory", | |
| "outputPortId": "*", | |
| "dataProductId": "development.regulatory.labeling_tracking" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.labeling_tracking_app" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "NCV", | |
| "id": "development.clinical_operations.ncv_source", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "dataSource" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "veevaVault" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Reltio", | |
| "id": "development.clinical_operations.mdm_rdm_source", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "dataSource" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "reltio" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.ncv_trial_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for trial_main in NCV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "trial_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "updated_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.ncv_trial_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for trial_details in NCV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "trial_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "detail_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "parent_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "uom_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.ncv_trial_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for trial_audit in NCV" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "trial_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "timestamp_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "new_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "NCV", | |
| "id": "development.clinical_operations.ncv", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "sourceAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "trial_main", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.ncv_trial_main_contract" | |
| }, | |
| { | |
| "name": "trial_details", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.ncv_trial_details_contract" | |
| }, | |
| { | |
| "name": "trial_audit", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.ncv_trial_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.mdm_rdm_master_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_main in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "created_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.mdm_rdm_master_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_details in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "detail_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "parent_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_name_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "uom_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.mdm_rdm_master_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for master_audit in MDM RDM" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "master_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "action_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "timestamp_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "new_value_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "MDM RDM", | |
| "id": "development.clinical_operations.mdm_rdm", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "sourceAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "master_main", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.mdm_rdm_master_main_contract" | |
| }, | |
| { | |
| "name": "master_details", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.mdm_rdm_master_details_contract" | |
| }, | |
| { | |
| "name": "master_audit", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.mdm_rdm_master_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.ncv_source-development.clinical_operations.ncv", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NCV to NCV", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.ncv_source" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.ncv" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.mdm_rdm_source-development.clinical_operations.mdm_rdm", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Reltio to MDM RDM", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.mdm_rdm_source" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.mdm_rdm" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.clinical_trials_studies_contract", | |
| "description": { | |
| "purpose": "Data Contract for studies in Clinical Trials" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "studies", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "study_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CXYZ123A2001", | |
| "CXYZ123A2002", | |
| "CXYZ123A2003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "study_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "protocol_number", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "phase", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Phase I", | |
| "Phase II", | |
| "Phase III" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "phase_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ] | |
| }, | |
| { | |
| "name": "start_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "completion_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "completion_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "therapeutic_area", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Oncology", | |
| "Cardiology", | |
| "Neurology" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "therapeutic_area_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "indication", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Pain", | |
| "Fever", | |
| "Inflammation" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.clinical_trials_investigators_contract", | |
| "description": { | |
| "purpose": "Data Contract for investigators in Clinical Trials" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "investigators", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "inv_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "INV-001", | |
| "INV-002", | |
| "INV-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "inv_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "study_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CXYZ123A2001", | |
| "CXYZ123A2002", | |
| "CXYZ123A2003" | |
| ] | |
| }, | |
| { | |
| "name": "site_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "US-001", | |
| "DE-002", | |
| "FR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "site_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "first_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "last_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "specialty", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "specialty_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "email", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "user1@pharma.com", | |
| "user2@pharma.com", | |
| "user3@pharma.com" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "email_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.clinical_trials_milestones_contract", | |
| "description": { | |
| "purpose": "Data Contract for milestones in Clinical Trials" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "milestones", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "milestone_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "MIL-001", | |
| "MIL-002", | |
| "MIL-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "milestone_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "study_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CXYZ123A2001", | |
| "CXYZ123A2002", | |
| "CXYZ123A2003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "study_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "milestone_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "milestone_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "planned_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "planned_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "actual_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "actual_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Clinical Trials", | |
| "id": "development.clinical_operations.clinical_trials", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "studies", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.clinical_trials_studies_contract" | |
| }, | |
| { | |
| "name": "investigators", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.clinical_trials_investigators_contract" | |
| }, | |
| { | |
| "name": "milestones", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.clinical_trials_milestones_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.site_management_sites_contract", | |
| "description": { | |
| "purpose": "Data Contract for sites in Site Management" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "sites", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "site_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "US-001", | |
| "DE-002", | |
| "FR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "site_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "study_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CXYZ123A2001", | |
| "CXYZ123A2002", | |
| "CXYZ123A2003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "study_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "site_number", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "country", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "United States", | |
| "Germany", | |
| "Japan" | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "activation_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| }, | |
| { | |
| "name": "close_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.site_management_visits_contract", | |
| "description": { | |
| "purpose": "Data Contract for visits in Site Management" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "visits", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "visit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "VIS-001", | |
| "VIS-002", | |
| "VIS-003" | |
| ] | |
| }, | |
| { | |
| "name": "site_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "US-001", | |
| "DE-002", | |
| "FR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "site_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "subject_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "1001-001", | |
| "1001-002", | |
| "1001-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "subject_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "visit_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "visit_name_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "visit_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "visit_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "compliance_check", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "compliance_check_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.site_management_issues_contract", | |
| "description": { | |
| "purpose": "Data Contract for issues in Site Management" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "issues", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "issue_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ISS-001", | |
| "ISS-002", | |
| "ISS-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "issue_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "site_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "US-001", | |
| "DE-002", | |
| "FR-003" | |
| ] | |
| }, | |
| { | |
| "name": "issue_type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "issue_type_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "severity", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Mild", | |
| "Moderate", | |
| "Severe" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "severity_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "resolution_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "resolution_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Site Management", | |
| "id": "development.clinical_operations.site_management", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "sites", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.site_management_sites_contract" | |
| }, | |
| { | |
| "name": "visits", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.site_management_visits_contract" | |
| }, | |
| { | |
| "name": "issues", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.site_management_issues_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.patient_data_subjects_contract", | |
| "description": { | |
| "purpose": "Data Contract for subjects in Patient Data" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "subjects", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "subject_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "1001-001", | |
| "1001-002", | |
| "1001-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "subject_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "study_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "CXYZ123A2001", | |
| "CXYZ123A2002", | |
| "CXYZ123A2003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "study_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "site_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "US-001", | |
| "DE-002", | |
| "FR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "site_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "enrollment_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "enrollment_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "arm", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "arm_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "demographics", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "demographics_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.patient_data_vitals_contract", | |
| "description": { | |
| "purpose": "Data Contract for vitals in Patient Data" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "vitals", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "vital_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "VIT-001", | |
| "VIT-002", | |
| "VIT-003" | |
| ] | |
| }, | |
| { | |
| "name": "subject_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "1001-001", | |
| "1001-002", | |
| "1001-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "subject_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "visit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "VIS-001", | |
| "VIS-002", | |
| "VIS-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "visit_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "height", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "170", | |
| "165", | |
| "180" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "height_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "weight", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "70", | |
| "65", | |
| "85" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "weight_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "bmi", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "24.2", | |
| "23.8", | |
| "26.2" | |
| ] | |
| }, | |
| { | |
| "name": "systolic_bp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "120", | |
| "118", | |
| "130" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "systolic_bp_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "diastolic_bp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "80", | |
| "75", | |
| "85" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "diastolic_bp_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.patient_data_labs_contract", | |
| "description": { | |
| "purpose": "Data Contract for labs in Patient Data" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "labs", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "lab_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "LAB-001", | |
| "LAB-002", | |
| "LAB-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "lab_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "subject_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "1001-001", | |
| "1001-002", | |
| "1001-003" | |
| ] | |
| }, | |
| { | |
| "name": "visit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "VIS-001", | |
| "VIS-002", | |
| "VIS-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "visit_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "test_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "result", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Negative", | |
| "Positive", | |
| "Inconclusive" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "result_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "unit", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "mg/dL", | |
| "mmol/L", | |
| "g/L" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "unit_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "range_low", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "range_high", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Patient Data", | |
| "id": "development.clinical_operations.patient_data", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "curated" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "subjects", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.patient_data_subjects_contract" | |
| }, | |
| { | |
| "name": "vitals", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.patient_data_vitals_contract" | |
| }, | |
| { | |
| "name": "labs", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.patient_data_labs_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.ncv-development.clinical_operations.clinical_trials", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NCV to Clinical Trials", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.ncv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.clinical_trials" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.mdm_rdm-development.clinical_operations.clinical_trials", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Clinical Trials", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.clinical_trials" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.ncv-development.clinical_operations.site_management", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NCV to Site Management", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.ncv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.site_management" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.mdm_rdm-development.clinical_operations.site_management", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Site Management", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.site_management" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.ncv-development.clinical_operations.patient_data", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from NCV to Patient Data", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.ncv" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.patient_data" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.mdm_rdm-development.clinical_operations.patient_data", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from MDM RDM to Patient Data", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.mdm_rdm" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.patient_data" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.trial_progress_prog_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for prog_main in Trial Progress" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "prog_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "created_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "updated_date_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "type_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "description_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.trial_progress_prog_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for prog_details in Trial Progress" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "prog_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "detail_id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "parent_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "attribute_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.trial_progress_prog_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for prog_audit in Trial Progress" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "prog_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "audit_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "action_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Trial Progress", | |
| "id": "development.clinical_operations.trial_progress", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "consumerAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "prog_main", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.trial_progress_prog_main_contract" | |
| }, | |
| { | |
| "name": "prog_details", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.trial_progress_prog_details_contract" | |
| }, | |
| { | |
| "name": "prog_audit", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.trial_progress_prog_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.site_performance_perf_main_contract", | |
| "description": { | |
| "purpose": "Data Contract for perf_main in Site Performance" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "perf_main", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "ID-001", | |
| "ID-002", | |
| "ID-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "id_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "created_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "created_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "updated_date", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "2025-11-01T00:00:00.000Z", | |
| "2025-12-15T00:00:00.000Z", | |
| "2026-01-30T00:00:00.000Z" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "updated_date_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "status", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Draft", | |
| "Under Review", | |
| "Approved" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "status_no_nulls", | |
| "metric": "nullValues", | |
| "mustBe": 0, | |
| "description": "No nulls allowed", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "type", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Type 1", | |
| "Type 2", | |
| "Type 3" | |
| ] | |
| }, | |
| { | |
| "name": "description", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.site_performance_perf_details_contract", | |
| "description": { | |
| "purpose": "Data Contract for perf_details in Site Performance" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "perf_details", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "detail_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "DET-001", | |
| "DET-002", | |
| "DET-003" | |
| ] | |
| }, | |
| { | |
| "name": "parent_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "PAR-001", | |
| "PAR-002", | |
| "PAR-003" | |
| ] | |
| }, | |
| { | |
| "name": "attribute_name", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Name A", | |
| "Name B", | |
| "Name C" | |
| ] | |
| }, | |
| { | |
| "name": "attribute_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ] | |
| }, | |
| { | |
| "name": "uom", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "uom_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v3.1.0", | |
| "kind": "DataContract", | |
| "status": "active", | |
| "version": "1.1.0", | |
| "id": "development.clinical_operations.site_performance_perf_audit_contract", | |
| "description": { | |
| "purpose": "Data Contract for perf_audit in Site Performance" | |
| }, | |
| "customProperties": [ | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "schema": [ | |
| { | |
| "name": "perf_audit", | |
| "physicalType": "table", | |
| "properties": [ | |
| { | |
| "name": "audit_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "AUD-001", | |
| "AUD-002", | |
| "AUD-003" | |
| ] | |
| }, | |
| { | |
| "name": "record_id", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "REC-001", | |
| "REC-002", | |
| "REC-003" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "record_id_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "action", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "action_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "user", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "user_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "timestamp", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "Sample 1", | |
| "Sample 2", | |
| "Sample 3" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "timestamp_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "old_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "old_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "new_value", | |
| "logicalType": "string", | |
| "physicalType": "string", | |
| "examples": [ | |
| "10.5", | |
| "20.0", | |
| "15.2" | |
| ], | |
| "quality": [ | |
| { | |
| "id": "new_value_unique", | |
| "metric": "duplicateValues", | |
| "mustBe": 0, | |
| "description": "Must be unique", | |
| "type": "library" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Site Performance", | |
| "id": "development.clinical_operations.site_performance", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "consumerAligned" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "databricks" | |
| } | |
| ], | |
| "outputPorts": [ | |
| { | |
| "name": "perf_main", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.site_performance_perf_main_contract" | |
| }, | |
| { | |
| "name": "perf_details", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.site_performance_perf_details_contract" | |
| }, | |
| { | |
| "name": "perf_audit", | |
| "version": "1", | |
| "contractId": "development.clinical_operations.site_performance_perf_audit_contract" | |
| } | |
| ] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.clinical_trials-development.clinical_operations.trial_progress", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Clinical Trials to Trial Progress", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.clinical_trials" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.trial_progress" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.site_management-development.clinical_operations.site_performance", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Site Management to Site Performance", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.site_management" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.site_performance" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Trial Progress", | |
| "id": "development.clinical_operations.trial_progress_app", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "application" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "powerBi" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.trial_progress-development.clinical_operations.trial_progress_app", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Trial Progress to Trial Progress", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.trial_progress" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.trial_progress_app" | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1.0.0", | |
| "kind": "DataProduct", | |
| "status": "active", | |
| "name": "Site Performance", | |
| "id": "development.clinical_operations.site_performance_app", | |
| "domain": "development.clinical_operations", | |
| "customProperties": [ | |
| { | |
| "property": "dataProductTier", | |
| "value": "application" | |
| }, | |
| { | |
| "property": "technology", | |
| "value": "powerBi" | |
| } | |
| ], | |
| "outputPorts": [] | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.site_performance-development.clinical_operations.site_performance_app", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Site Performance to Site Performance", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.site_performance" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.clinical_operations.site_performance_app" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.safety.adverse_events-development.regulatory.submissions", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Adverse Events to Submissions", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.safety", | |
| "outputPortId": "*", | |
| "dataProductId": "development.safety.adverse_events" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.submissions" | |
| } | |
| }, | |
| { | |
| "dataUsageAgreementSpecification": "0.0.1", | |
| "id": "development.clinical_operations.clinical_trials-development.regulatory.submissions", | |
| "info": { | |
| "active": true, | |
| "purpose": "Data flow from Clinical Trials to Submissions", | |
| "status": "approved", | |
| "startDate": "2026-02-10T00:00:00.000Z" | |
| }, | |
| "provider": { | |
| "teamId": "development.clinical_operations", | |
| "outputPortId": "*", | |
| "dataProductId": "development.clinical_operations.clinical_trials" | |
| }, | |
| "consumer": { | |
| "dataProductId": "development.regulatory.submissions" | |
| } | |
| } | |
| ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment