@nyrra/prismantix-oac-pharma 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +1 -0
- package/dist/lib/prismantix/externalObjects.d.mts +3 -0
- package/dist/lib/prismantix/externalObjects.mjs +16 -0
- package/dist/lib/prismantix/index.d.mts +20 -0
- package/dist/lib/prismantix/index.mjs +29 -0
- package/dist/lib/prismantix/links.d.mts +27 -0
- package/dist/lib/prismantix/links.mjs +456 -0
- package/dist/lib/prismantix/objects/index.d.mts +2 -0
- package/dist/lib/prismantix/objects/index.mjs +2 -0
- package/dist/lib/prismantix/objects/masterData/Batch.d.mts +1 -0
- package/dist/lib/prismantix/objects/masterData/Batch.mjs +263 -0
- package/dist/lib/prismantix/objects/masterData/Equipment.d.mts +1 -0
- package/dist/lib/prismantix/objects/masterData/Equipment.mjs +126 -0
- package/dist/lib/prismantix/objects/masterData/Product.d.mts +1 -0
- package/dist/lib/prismantix/objects/masterData/Product.mjs +155 -0
- package/dist/lib/prismantix/objects/masterData/Site.d.mts +1 -0
- package/dist/lib/prismantix/objects/masterData/Site.mjs +182 -0
- package/dist/lib/prismantix/objects/masterData/Supplier.d.mts +1 -0
- package/dist/lib/prismantix/objects/masterData/Supplier.mjs +202 -0
- package/dist/lib/prismantix/objects/masterData/index.d.mts +6 -0
- package/dist/lib/prismantix/objects/masterData/index.mjs +17 -0
- package/dist/lib/prismantix/objects/quality/ActionItem.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/ActionItem.mjs +144 -0
- package/dist/lib/prismantix/objects/quality/Capa.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/Capa.mjs +286 -0
- package/dist/lib/prismantix/objects/quality/ChangeControl.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/ChangeControl.mjs +212 -0
- package/dist/lib/prismantix/objects/quality/ChangeControlApproval.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/ChangeControlApproval.mjs +122 -0
- package/dist/lib/prismantix/objects/quality/ChangeControlEffectiveness.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/ChangeControlEffectiveness.mjs +130 -0
- package/dist/lib/prismantix/objects/quality/ChangeControlImpact.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/ChangeControlImpact.mjs +150 -0
- package/dist/lib/prismantix/objects/quality/Complaint.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/Complaint.mjs +206 -0
- package/dist/lib/prismantix/objects/quality/Deviation.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/Deviation.mjs +212 -0
- package/dist/lib/prismantix/objects/quality/Investigation.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/Investigation.mjs +235 -0
- package/dist/lib/prismantix/objects/quality/RcaFactor.d.mts +1 -0
- package/dist/lib/prismantix/objects/quality/RcaFactor.mjs +89 -0
- package/dist/lib/prismantix/objects/quality/index.d.mts +11 -0
- package/dist/lib/prismantix/objects/quality/index.mjs +32 -0
- package/dist/lib/prismantix/valueTypes.d.mts +46 -0
- package/dist/lib/prismantix/valueTypes.mjs +586 -0
- package/package.json +49 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { defineObject } from "@nyrra/maker";
|
|
2
|
+
import { AppUser, Client } from "../../externalObjects.mjs";
|
|
3
|
+
import { ChangeControlEffectivenessStatusValueType, EpochMillisValueType, IsoTimestampStringValueType, } from "../../valueTypes.mjs";
|
|
4
|
+
import { ChangeControl } from "./ChangeControl.mjs";
|
|
5
|
+
export const ChangeControlEffectiveness = defineObject({
|
|
6
|
+
apiName: "ChangeControlEffectiveness",
|
|
7
|
+
displayName: "Change Control Effectiveness",
|
|
8
|
+
pluralDisplayName: "Change Control Effectiveness Checks",
|
|
9
|
+
primaryKeyPropertyApiName: "metricCode",
|
|
10
|
+
titlePropertyApiName: "metricCode",
|
|
11
|
+
description: "Generate realistic effectiveness checks with criteria and summary.",
|
|
12
|
+
properties: {
|
|
13
|
+
baselineValue: {
|
|
14
|
+
displayName: "Baseline Value",
|
|
15
|
+
description: "Baseline Value for the change control effectiveness record.",
|
|
16
|
+
type: "integer",
|
|
17
|
+
optional: true,
|
|
18
|
+
},
|
|
19
|
+
changeControlId: {
|
|
20
|
+
displayName: "Change Control ID",
|
|
21
|
+
description: "Reference to change control.",
|
|
22
|
+
type: "string",
|
|
23
|
+
reference: ChangeControl,
|
|
24
|
+
},
|
|
25
|
+
clientId: {
|
|
26
|
+
displayName: "Client ID",
|
|
27
|
+
description: "Reference to client.",
|
|
28
|
+
type: "string",
|
|
29
|
+
reference: Client,
|
|
30
|
+
},
|
|
31
|
+
createdAt: {
|
|
32
|
+
displayName: "Created At",
|
|
33
|
+
description: "Created At for the change control effectiveness record.",
|
|
34
|
+
type: EpochMillisValueType,
|
|
35
|
+
optional: true,
|
|
36
|
+
},
|
|
37
|
+
criteria: {
|
|
38
|
+
displayName: "Criteria",
|
|
39
|
+
description: "Optional criteria definition",
|
|
40
|
+
type: "string",
|
|
41
|
+
optional: true,
|
|
42
|
+
exampleValues: ["Batch defect rate vs baseline over 3 lots"],
|
|
43
|
+
},
|
|
44
|
+
currentValue: {
|
|
45
|
+
displayName: "Current Value",
|
|
46
|
+
description: "Current Value for the change control effectiveness record.",
|
|
47
|
+
type: "integer",
|
|
48
|
+
optional: true,
|
|
49
|
+
},
|
|
50
|
+
metricCode: {
|
|
51
|
+
displayName: "Metric Code",
|
|
52
|
+
description: "Code for the tracked KPI or effectiveness metric",
|
|
53
|
+
type: "string",
|
|
54
|
+
exampleValues: ["ECC-2025-001", "ECC-2025-002"],
|
|
55
|
+
},
|
|
56
|
+
performedDate: {
|
|
57
|
+
displayName: "Performed Date",
|
|
58
|
+
description: "Performed Date for the change control effectiveness record.",
|
|
59
|
+
type: IsoTimestampStringValueType,
|
|
60
|
+
optional: true,
|
|
61
|
+
},
|
|
62
|
+
resultSummary: {
|
|
63
|
+
displayName: "Result Summary",
|
|
64
|
+
description: "Optional summary of results",
|
|
65
|
+
type: "string",
|
|
66
|
+
optional: true,
|
|
67
|
+
},
|
|
68
|
+
scheduledDate: {
|
|
69
|
+
displayName: "Scheduled Date",
|
|
70
|
+
description: "Scheduled Date for the change control effectiveness record.",
|
|
71
|
+
type: IsoTimestampStringValueType,
|
|
72
|
+
optional: true,
|
|
73
|
+
},
|
|
74
|
+
status: {
|
|
75
|
+
displayName: "Status",
|
|
76
|
+
description: "Current status of effectiveness check",
|
|
77
|
+
type: ChangeControlEffectivenessStatusValueType,
|
|
78
|
+
exampleValues: ["Scheduled"],
|
|
79
|
+
},
|
|
80
|
+
updatedAt: {
|
|
81
|
+
displayName: "Updated At",
|
|
82
|
+
description: "Updated At for the change control effectiveness record.",
|
|
83
|
+
type: EpochMillisValueType,
|
|
84
|
+
optional: true,
|
|
85
|
+
},
|
|
86
|
+
verifiedByUserId: {
|
|
87
|
+
displayName: "Verified By User ID",
|
|
88
|
+
description: "Reference to app user.",
|
|
89
|
+
type: "string",
|
|
90
|
+
optional: true,
|
|
91
|
+
reference: AppUser,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
prismantix: {
|
|
95
|
+
category: "quality-events",
|
|
96
|
+
convex: {
|
|
97
|
+
componentName: "ontology",
|
|
98
|
+
indexes: [
|
|
99
|
+
{
|
|
100
|
+
fields: ["metricCode"],
|
|
101
|
+
name: "by_metric_code",
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
fields: ["changeControlId"],
|
|
105
|
+
name: "by_change",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
fields: ["clientId"],
|
|
109
|
+
name: "by_client",
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
materialized: true,
|
|
113
|
+
tableName: "datastudio_changeControlEffectiveness",
|
|
114
|
+
},
|
|
115
|
+
defaults: {
|
|
116
|
+
fabricationCount: 10,
|
|
117
|
+
},
|
|
118
|
+
domain: "pharmaQualityOps",
|
|
119
|
+
guidance: [
|
|
120
|
+
"Status should be Scheduled, InProgress, Completed, or NotEffective",
|
|
121
|
+
],
|
|
122
|
+
notes: "scheduled effectiveness checks for change controls",
|
|
123
|
+
requiresClient: true,
|
|
124
|
+
seeding: {
|
|
125
|
+
order: 12,
|
|
126
|
+
requires: ["datastudio_clients", "datastudio_changeControls"],
|
|
127
|
+
},
|
|
128
|
+
showInNavigation: true,
|
|
129
|
+
},
|
|
130
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ChangeControlImpact: import("@nyrra/maker").PrismantixObjectDefinition;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { defineObject } from "@nyrra/maker";
|
|
2
|
+
import { Client } from "../../externalObjects.mjs";
|
|
3
|
+
import { ChangeControlImpactImpactAreaValueType, ChangeControlImpactImpactSeverityValueType, EpochMillisValueType, } from "../../valueTypes.mjs";
|
|
4
|
+
import { Equipment, Product, Supplier } from "../masterData/index.mjs";
|
|
5
|
+
import { ChangeControl } from "./ChangeControl.mjs";
|
|
6
|
+
export const ChangeControlImpact = defineObject({
|
|
7
|
+
apiName: "ChangeControlImpact",
|
|
8
|
+
displayName: "Change Control Impact",
|
|
9
|
+
pluralDisplayName: "Change Control Impacts",
|
|
10
|
+
primaryKeyPropertyApiName: "changeControlImpactId",
|
|
11
|
+
titlePropertyApiName: "impactArea",
|
|
12
|
+
description: "Generate realistic impact assessment rows for pharmaceutical change controls. Each row should capture one concrete area affected by the change with: - An impactArea aligned to the nature of the change - A severity level that matches likely product, process, compliance, or supply risk - Exactly one related reference field populated when valid context supplies a real identifier - Notes and evidence that read like a concise quality-impact assessment",
|
|
13
|
+
properties: {
|
|
14
|
+
changeControlId: {
|
|
15
|
+
displayName: "Change Control ID",
|
|
16
|
+
description: "Reference to change control.",
|
|
17
|
+
type: "string",
|
|
18
|
+
reference: ChangeControl,
|
|
19
|
+
},
|
|
20
|
+
changeControlImpactId: {
|
|
21
|
+
displayName: "Change Control Impact ID",
|
|
22
|
+
description: "Unique change control impact identifier",
|
|
23
|
+
type: "string",
|
|
24
|
+
exampleValues: ["CCI-2025-001", "CCI-2025-002"],
|
|
25
|
+
},
|
|
26
|
+
clientId: {
|
|
27
|
+
displayName: "Client ID",
|
|
28
|
+
description: "Reference to client.",
|
|
29
|
+
type: "string",
|
|
30
|
+
reference: Client,
|
|
31
|
+
},
|
|
32
|
+
createdAt: {
|
|
33
|
+
displayName: "Created At",
|
|
34
|
+
description: "Created At for the change control impact record.",
|
|
35
|
+
type: EpochMillisValueType,
|
|
36
|
+
optional: true,
|
|
37
|
+
},
|
|
38
|
+
documentId: {
|
|
39
|
+
displayName: "Document ID",
|
|
40
|
+
description: "Optional related document identifier. Only populate when impactArea is Document and a concrete document reference is known",
|
|
41
|
+
type: "string",
|
|
42
|
+
optional: true,
|
|
43
|
+
exampleValues: ["SOP-OPS-104"],
|
|
44
|
+
},
|
|
45
|
+
equipmentId: {
|
|
46
|
+
displayName: "Equipment ID",
|
|
47
|
+
description: "Optional related equipment ID. Only populate when impactArea is Equipment and the exact ID is provided in Additional Context",
|
|
48
|
+
type: "string",
|
|
49
|
+
optional: true,
|
|
50
|
+
reference: Equipment,
|
|
51
|
+
exampleValues: ["eq_blender_200l"],
|
|
52
|
+
},
|
|
53
|
+
evidence: {
|
|
54
|
+
displayName: "Evidence",
|
|
55
|
+
description: "Optional evidence summary such as a protocol, qualification report, SOP, risk assessment, or validation record",
|
|
56
|
+
type: "string",
|
|
57
|
+
optional: true,
|
|
58
|
+
exampleValues: [
|
|
59
|
+
"IQ/OQ protocol revision required before release to production",
|
|
60
|
+
"Current SOP references obsolete sampling frequency",
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
impactArea: {
|
|
64
|
+
displayName: "Impact Area",
|
|
65
|
+
description: "Area impacted by the change",
|
|
66
|
+
type: ChangeControlImpactImpactAreaValueType,
|
|
67
|
+
exampleValues: ["Equipment", "Document"],
|
|
68
|
+
},
|
|
69
|
+
impactSeverity: {
|
|
70
|
+
displayName: "Impact Severity",
|
|
71
|
+
description: "Severity of the impact",
|
|
72
|
+
type: ChangeControlImpactImpactSeverityValueType,
|
|
73
|
+
exampleValues: ["High", "Medium"],
|
|
74
|
+
},
|
|
75
|
+
notes: {
|
|
76
|
+
displayName: "Notes",
|
|
77
|
+
description: "Optional notes describing the impact",
|
|
78
|
+
type: "string",
|
|
79
|
+
optional: true,
|
|
80
|
+
exampleValues: [
|
|
81
|
+
"Mixer requires requalification after impeller change",
|
|
82
|
+
"Operating procedure and line clearance forms require revision",
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
processId: {
|
|
86
|
+
displayName: "Process ID",
|
|
87
|
+
description: "Optional related process identifier. Only populate when impactArea is Process or ComputerSystem and a concrete process reference is known",
|
|
88
|
+
type: "string",
|
|
89
|
+
optional: true,
|
|
90
|
+
},
|
|
91
|
+
productId: {
|
|
92
|
+
displayName: "Product ID",
|
|
93
|
+
description: "Optional related product ID. Only populate when impactArea is Product and the exact ID is provided in Additional Context",
|
|
94
|
+
type: "string",
|
|
95
|
+
optional: true,
|
|
96
|
+
reference: Product,
|
|
97
|
+
},
|
|
98
|
+
supplierId: {
|
|
99
|
+
displayName: "Supplier ID",
|
|
100
|
+
description: "Optional related supplier ID. Only populate when impactArea is Supplier and the exact ID is provided in Additional Context",
|
|
101
|
+
type: "string",
|
|
102
|
+
optional: true,
|
|
103
|
+
reference: Supplier,
|
|
104
|
+
},
|
|
105
|
+
updatedAt: {
|
|
106
|
+
displayName: "Updated At",
|
|
107
|
+
description: "Updated At for the change control impact record.",
|
|
108
|
+
type: EpochMillisValueType,
|
|
109
|
+
optional: true,
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
prismantix: {
|
|
113
|
+
category: "quality-events",
|
|
114
|
+
convex: {
|
|
115
|
+
componentName: "ontology",
|
|
116
|
+
indexes: [
|
|
117
|
+
{
|
|
118
|
+
fields: ["changeControlImpactId"],
|
|
119
|
+
name: "by_change_control_impact_id",
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
fields: ["changeControlId"],
|
|
123
|
+
name: "by_change",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
fields: ["clientId"],
|
|
127
|
+
name: "by_client",
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
materialized: true,
|
|
131
|
+
tableName: "datastudio_changeControlImpacts",
|
|
132
|
+
},
|
|
133
|
+
defaults: {
|
|
134
|
+
fabricationCount: 20,
|
|
135
|
+
},
|
|
136
|
+
domain: "pharmaQualityOps",
|
|
137
|
+
guidance: [
|
|
138
|
+
"Exactly one of productId, equipmentId, supplierId, documentId, or processId should be populated based on impactArea when related-record context is available",
|
|
139
|
+
"If an exact related identifier is not present in Additional Context, omit the related ID fields instead of inventing one",
|
|
140
|
+
"Notes and evidence should explain why the impacted area matters for qualification, validation, training, supply, or product quality",
|
|
141
|
+
],
|
|
142
|
+
notes: "change control impact entries",
|
|
143
|
+
requiresClient: true,
|
|
144
|
+
seeding: {
|
|
145
|
+
order: 10,
|
|
146
|
+
requires: ["datastudio_clients", "datastudio_changeControls"],
|
|
147
|
+
},
|
|
148
|
+
showInNavigation: true,
|
|
149
|
+
},
|
|
150
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Complaint: import("@nyrra/maker").PrismantixObjectDefinition;
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { defineObject } from "@nyrra/maker";
|
|
2
|
+
import { Client } from "../../externalObjects.mjs";
|
|
3
|
+
import { ComplaintComplaintTypeValueType, ComplaintReporterTypeValueType, ComplaintSeverityValueType, ComplaintStatusValueType, EpochMillisValueType, IsoTimestampStringValueType, } from "../../valueTypes.mjs";
|
|
4
|
+
import { Batch, Product } from "../masterData/index.mjs";
|
|
5
|
+
export const Complaint = defineObject({
|
|
6
|
+
apiName: "Complaint",
|
|
7
|
+
displayName: "Complaint",
|
|
8
|
+
pluralDisplayName: "Complaints",
|
|
9
|
+
primaryKeyPropertyApiName: "complaintCode",
|
|
10
|
+
titlePropertyApiName: "complaintCode",
|
|
11
|
+
description: "Generate realistic pharmaceutical product complaint records from various reporter types. Each complaint should represent a believable product quality or safety concern with: - Narratives from patient or healthcare provider perspective - Specific product experiences with appropriate medical language - Proper classification of complaint types and severity levels - Realistic geographic distribution across markets - Appropriate regulatory reporting requirements based on complaint type - Professional assessment of investigation needs and adverse event potential",
|
|
12
|
+
properties: {
|
|
13
|
+
adverseEventReported: {
|
|
14
|
+
displayName: "Adverse Event Reported",
|
|
15
|
+
description: "Whether an adverse event to patient was reported as part of complaint",
|
|
16
|
+
type: "boolean",
|
|
17
|
+
exampleValues: [false, true],
|
|
18
|
+
},
|
|
19
|
+
clientId: {
|
|
20
|
+
displayName: "Client ID",
|
|
21
|
+
description: "Reference to client.",
|
|
22
|
+
type: "string",
|
|
23
|
+
reference: Client,
|
|
24
|
+
},
|
|
25
|
+
complaintCode: {
|
|
26
|
+
displayName: "Complaint Code",
|
|
27
|
+
description: "Unique complaint tracking identifier with year and sequence",
|
|
28
|
+
type: "string",
|
|
29
|
+
exampleValues: [
|
|
30
|
+
"COMP-2024-001",
|
|
31
|
+
"COMP-2024-002",
|
|
32
|
+
"COMP-2024-003",
|
|
33
|
+
"COMP-2024-004",
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
complaintType: {
|
|
37
|
+
displayName: "Complaint Type",
|
|
38
|
+
description: "Primary classification of the complaint type",
|
|
39
|
+
type: ComplaintComplaintTypeValueType,
|
|
40
|
+
exampleValues: [
|
|
41
|
+
"Product Quality",
|
|
42
|
+
"Adverse Event",
|
|
43
|
+
"Packaging",
|
|
44
|
+
"Efficacy",
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
createdAt: {
|
|
48
|
+
displayName: "Created At",
|
|
49
|
+
description: "Created At for the complaint record.",
|
|
50
|
+
type: EpochMillisValueType,
|
|
51
|
+
optional: true,
|
|
52
|
+
},
|
|
53
|
+
description: {
|
|
54
|
+
displayName: "Description",
|
|
55
|
+
description: "Detailed narrative of the complaint from reporter perspective, using appropriate medical/professional language for the reporter type",
|
|
56
|
+
type: "string",
|
|
57
|
+
exampleValues: [
|
|
58
|
+
"Patient reported that insulin pen device was difficult to prime and required multiple attempts before first dose. No medication was lost and patient was able to complete injection successfully. Device functionality improved after storage at room temperature.",
|
|
59
|
+
"Physician reported patient experienced unexpected injection site reaction (redness, swelling, pain) lasting 48 hours after administration of biologic therapy. Patient had no prior history of injection site reactions with this product. Reaction resolved with topical treatment.",
|
|
60
|
+
"Pharmacy distributor reported receiving batch of tablet bottles with compromised child-resistant caps. Multiple bottles in shipment had caps that could be opened without proper push-and-turn mechanism. No tablets were damaged but packaging integrity was compromised.",
|
|
61
|
+
"Endocrinologist reported three patients with unexpectedly poor glycemic control despite compliance with prescribed insulin regimen. All patients using vials from same batch lot. Patients required temporary insulin dose increases. Blood glucose patterns inconsistent with expected therapeutic response.",
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
investigationRequired: {
|
|
65
|
+
displayName: "Investigation Required",
|
|
66
|
+
description: "Whether formal investigation is required",
|
|
67
|
+
type: "boolean",
|
|
68
|
+
exampleValues: [false, true],
|
|
69
|
+
},
|
|
70
|
+
linkedBatchIds: {
|
|
71
|
+
displayName: "Linked Batch Ids",
|
|
72
|
+
description: "References to batch.",
|
|
73
|
+
type: "string",
|
|
74
|
+
optional: true,
|
|
75
|
+
array: true,
|
|
76
|
+
reference: Batch,
|
|
77
|
+
},
|
|
78
|
+
productId: {
|
|
79
|
+
displayName: "Product ID",
|
|
80
|
+
description: "Reference to product.",
|
|
81
|
+
type: "string",
|
|
82
|
+
optional: true,
|
|
83
|
+
reference: Product,
|
|
84
|
+
},
|
|
85
|
+
regulatoryReportRequired: {
|
|
86
|
+
displayName: "Regulatory Report Required",
|
|
87
|
+
description: "Whether regulatory authorities must be notified",
|
|
88
|
+
type: "boolean",
|
|
89
|
+
exampleValues: [false, true],
|
|
90
|
+
},
|
|
91
|
+
reportedDate: {
|
|
92
|
+
displayName: "Reported Date",
|
|
93
|
+
description: "Date when complaint was received, in ISO 8601 format (recent dates within last 18 months)",
|
|
94
|
+
type: IsoTimestampStringValueType,
|
|
95
|
+
exampleValues: [
|
|
96
|
+
"2024-06-15T00:00:00Z",
|
|
97
|
+
"2024-07-22T00:00:00Z",
|
|
98
|
+
"2024-07-10T00:00:00Z",
|
|
99
|
+
"2024-07-25T00:00:00Z",
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
reporterCountry: {
|
|
103
|
+
displayName: "Reporter Country",
|
|
104
|
+
description: "Country where the complaint originated (major pharmaceutical markets)",
|
|
105
|
+
type: "string",
|
|
106
|
+
exampleValues: ["United States", "Germany", "United Kingdom", "Canada"],
|
|
107
|
+
},
|
|
108
|
+
reporterType: {
|
|
109
|
+
displayName: "Reporter Type",
|
|
110
|
+
description: "Type of person or entity reporting the complaint",
|
|
111
|
+
type: ComplaintReporterTypeValueType,
|
|
112
|
+
exampleValues: ["Patient", "Healthcare Professional", "Distributor"],
|
|
113
|
+
},
|
|
114
|
+
resolutionSummary: {
|
|
115
|
+
displayName: "Resolution Summary",
|
|
116
|
+
description: "Summary of resolution or outcome (if status is Closed)",
|
|
117
|
+
type: "string",
|
|
118
|
+
optional: true,
|
|
119
|
+
exampleValues: [
|
|
120
|
+
"Provided patient education on proper device storage and priming technique. No product defect identified.",
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
responseDate: {
|
|
124
|
+
displayName: "Response Date",
|
|
125
|
+
description: "Date when response was provided to complainant (if applicable), in ISO 8601 format",
|
|
126
|
+
type: IsoTimestampStringValueType,
|
|
127
|
+
optional: true,
|
|
128
|
+
exampleValues: ["2024-06-18T00:00:00Z", "2024-07-12T00:00:00Z"],
|
|
129
|
+
},
|
|
130
|
+
severity: {
|
|
131
|
+
displayName: "Severity",
|
|
132
|
+
description: "Severity assessment based on potential patient impact",
|
|
133
|
+
type: ComplaintSeverityValueType,
|
|
134
|
+
exampleValues: ["Minor", "Major", "Critical"],
|
|
135
|
+
},
|
|
136
|
+
status: {
|
|
137
|
+
displayName: "Status",
|
|
138
|
+
description: "Current status in complaint management workflow",
|
|
139
|
+
type: ComplaintStatusValueType,
|
|
140
|
+
exampleValues: ["Closed", "Investigation", "Under Review"],
|
|
141
|
+
},
|
|
142
|
+
updatedAt: {
|
|
143
|
+
displayName: "Updated At",
|
|
144
|
+
description: "Updated At for the complaint record.",
|
|
145
|
+
type: EpochMillisValueType,
|
|
146
|
+
optional: true,
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
prismantix: {
|
|
150
|
+
category: "quality-events",
|
|
151
|
+
convex: {
|
|
152
|
+
componentName: "ontology",
|
|
153
|
+
indexes: [
|
|
154
|
+
{
|
|
155
|
+
fields: ["complaintCode"],
|
|
156
|
+
name: "by_complaint_code",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
fields: ["productId"],
|
|
160
|
+
name: "by_product",
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
fields: ["status"],
|
|
164
|
+
name: "by_status",
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
fields: ["severity"],
|
|
168
|
+
name: "by_severity",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
fields: ["complaintType"],
|
|
172
|
+
name: "by_complaint_type",
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
fields: ["clientId"],
|
|
176
|
+
name: "by_client",
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
materialized: true,
|
|
180
|
+
tableName: "datastudio_complaints",
|
|
181
|
+
},
|
|
182
|
+
defaults: {
|
|
183
|
+
fabricationCount: 40,
|
|
184
|
+
seedCount: 25,
|
|
185
|
+
},
|
|
186
|
+
domain: "pharmaQualityOps",
|
|
187
|
+
guidance: [
|
|
188
|
+
"Generate realistic customer complaints for pharmaceutical products",
|
|
189
|
+
"Follow pharmacovigilance and quality standards",
|
|
190
|
+
"Include diverse complaint types from different reporter perspectives",
|
|
191
|
+
"Use professional medical language appropriate for healthcare settings",
|
|
192
|
+
"Consider global regulatory reporting requirements",
|
|
193
|
+
],
|
|
194
|
+
notes: "market complaints about pharmaceutical products",
|
|
195
|
+
requiresClient: true,
|
|
196
|
+
seeding: {
|
|
197
|
+
order: 7,
|
|
198
|
+
requires: [
|
|
199
|
+
"datastudio_clients",
|
|
200
|
+
"datastudio_products",
|
|
201
|
+
"datastudio_batches",
|
|
202
|
+
],
|
|
203
|
+
},
|
|
204
|
+
showInNavigation: true,
|
|
205
|
+
},
|
|
206
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Deviation: import("@nyrra/maker").PrismantixObjectDefinition;
|