@tellescope/schema 1.252.3 → 1.253.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/lib/cjs/schema.d.ts +1 -0
- package/lib/cjs/schema.d.ts.map +1 -1
- package/lib/cjs/schema.js +25 -13
- package/lib/cjs/schema.js.map +1 -1
- package/lib/esm/schema.d.ts +1 -0
- package/lib/esm/schema.d.ts.map +1 -1
- package/lib/esm/schema.js +25 -13
- package/lib/esm/schema.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/src/schema.ts +60 -43
package/src/schema.ts
CHANGED
|
@@ -460,6 +460,7 @@ export type ModelFieldInfo <T, R> = {
|
|
|
460
460
|
readonly?: boolean,
|
|
461
461
|
required?: boolean,
|
|
462
462
|
updatesDisabled?: boolean,
|
|
463
|
+
enduserUpdatesDisabled?: boolean, // enduser sessions cannot update this field; user sessions still can
|
|
463
464
|
examples?: JSONType[],
|
|
464
465
|
initializer?: Initializer<Partial<T>, R>, // should include the required fields of T, not just partial
|
|
465
466
|
dependencies?: Dependency<Partial<T>>[],
|
|
@@ -1506,13 +1507,15 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1506
1507
|
unsubscribe: {},
|
|
1507
1508
|
},
|
|
1508
1509
|
fields: {
|
|
1509
|
-
...BuiltInFields,
|
|
1510
|
+
...BuiltInFields,
|
|
1511
|
+
sharedWithOrganizations: { ...BuiltInFields.sharedWithOrganizations, enduserUpdatesDisabled: true },
|
|
1510
1512
|
recentViewers: { validator: recentViewersValidator },
|
|
1511
|
-
healthie_dietitian_id: { validator: stringValidator100 },
|
|
1513
|
+
healthie_dietitian_id: { validator: stringValidator100, enduserUpdatesDisabled: true },
|
|
1512
1514
|
mergedIds: { validator: listOfMongoIdStringValidatorOptionalOrEmptyOk, readonly: true, redactions: ['enduser'] },
|
|
1513
1515
|
externalId: {
|
|
1514
1516
|
validator: stringValidator250,
|
|
1515
1517
|
examples: ['addfed3e-ddea-415b-b52b-df820c944dbb'],
|
|
1518
|
+
enduserUpdatesDisabled: true,
|
|
1516
1519
|
},
|
|
1517
1520
|
email: {
|
|
1518
1521
|
validator: emailValidatorEmptyOkay,
|
|
@@ -1566,9 +1569,10 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1566
1569
|
validator: stringValidator250,
|
|
1567
1570
|
redactions: ['enduser'],
|
|
1568
1571
|
},
|
|
1569
|
-
journeys: {
|
|
1572
|
+
journeys: {
|
|
1570
1573
|
validator: journeysValidator,
|
|
1571
1574
|
redactions: ['enduser'],
|
|
1575
|
+
enduserUpdatesDisabled: true, // endusers may still use the add_to_journey / remove_from_journey custom actions
|
|
1572
1576
|
dependencies: [
|
|
1573
1577
|
{
|
|
1574
1578
|
dependsOn: ['journeys'],
|
|
@@ -1584,13 +1588,15 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1584
1588
|
]
|
|
1585
1589
|
},
|
|
1586
1590
|
scheduledJourneys: { validator: scheduledJourneysValidator },
|
|
1587
|
-
tags: {
|
|
1591
|
+
tags: {
|
|
1588
1592
|
redactions: ['enduser'],
|
|
1589
1593
|
validator: listOfStringsValidatorUniqueOptionalOrEmptyOkay,
|
|
1594
|
+
enduserUpdatesDisabled: true,
|
|
1590
1595
|
},
|
|
1591
|
-
accessTags: {
|
|
1596
|
+
accessTags: {
|
|
1592
1597
|
redactions: ['enduser'],
|
|
1593
1598
|
validator: listOfStringsValidatorEmptyOk,
|
|
1599
|
+
enduserUpdatesDisabled: true,
|
|
1594
1600
|
},
|
|
1595
1601
|
unredactedTags: {
|
|
1596
1602
|
validator: listOfStringsValidatorEmptyOk,
|
|
@@ -1598,6 +1604,7 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1598
1604
|
fields: {
|
|
1599
1605
|
redactions: ['enduser'],
|
|
1600
1606
|
validator: fieldsValidator,
|
|
1607
|
+
enduserUpdatesDisabled: true, // intake forms write fields server-side; direct enduser PATCH is not a supported path
|
|
1601
1608
|
},
|
|
1602
1609
|
unredactedFields: {
|
|
1603
1610
|
validator: fieldsValidator,
|
|
@@ -1606,17 +1613,20 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1606
1613
|
redactions: ['enduser'],
|
|
1607
1614
|
validator: preferenceValidator,
|
|
1608
1615
|
},
|
|
1609
|
-
assignedTo: {
|
|
1616
|
+
assignedTo: {
|
|
1610
1617
|
redactions: ['enduser'],
|
|
1611
1618
|
validator: listOfUniqueStringsValidatorEmptyOk,
|
|
1619
|
+
enduserUpdatesDisabled: true,
|
|
1612
1620
|
},
|
|
1613
|
-
primaryAssignee: {
|
|
1621
|
+
primaryAssignee: {
|
|
1614
1622
|
validator: mongoIdStringValidator,
|
|
1615
1623
|
redactions: ['enduser'],
|
|
1624
|
+
enduserUpdatesDisabled: true,
|
|
1616
1625
|
},
|
|
1617
|
-
unread: {
|
|
1626
|
+
unread: {
|
|
1618
1627
|
redactions: ['enduser'],
|
|
1619
1628
|
validator: booleanValidator,
|
|
1629
|
+
enduserUpdatesDisabled: true,
|
|
1620
1630
|
},
|
|
1621
1631
|
lastActive: {
|
|
1622
1632
|
validator: dateValidator,
|
|
@@ -1651,7 +1661,7 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1651
1661
|
pronouns: { validator: stringValidator100, redactions: ['enduser'] },
|
|
1652
1662
|
height: { validator: genericUnitWithQuantityValidator, redactions: ['enduser'] },
|
|
1653
1663
|
weight: { validator: genericUnitWithQuantityValidator, redactions: ['enduser'] },
|
|
1654
|
-
source: { validator: stringValidator1000Optional },
|
|
1664
|
+
source: { validator: stringValidator1000Optional, enduserUpdatesDisabled: true },
|
|
1655
1665
|
addressLineOne: { validator: stringValidator5000EmptyOkay, redactions: ['enduser'] },
|
|
1656
1666
|
addressLineTwo: { validator: stringValidator5000EmptyOkay, redactions: ['enduser'] },
|
|
1657
1667
|
city: { validator: stringValidator5000EmptyOkay, redactions: ['enduser'] },
|
|
@@ -1663,7 +1673,7 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1663
1673
|
displayName: { validator: stringValidator250 }, // intentionally not redacted for other endusers
|
|
1664
1674
|
unsubscribedFromPortalChatNotifications: { validator: booleanValidator },
|
|
1665
1675
|
triggeredEvents: { validator: objectAnyFieldsValidator(numberValidator) },
|
|
1666
|
-
customTypeId: { validator: mongoIdStringValidator },
|
|
1676
|
+
customTypeId: { validator: mongoIdStringValidator, enduserUpdatesDisabled: true },
|
|
1667
1677
|
language: { validator: languageValidator },
|
|
1668
1678
|
relationships: {
|
|
1669
1679
|
validator: listValidatorOptionalOrEmptyOk(objectValidator<EnduserRelationship>({
|
|
@@ -1673,10 +1683,10 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1673
1683
|
},
|
|
1674
1684
|
markedReadAt: { validator: dateOptionalOrEmptyStringValidator },
|
|
1675
1685
|
markedUnreadAt: { validator: dateOptionalOrEmptyStringValidator },
|
|
1676
|
-
note: { validator: stringValidator25000EmptyOkay, redactions: ['enduser'] },
|
|
1686
|
+
note: { validator: stringValidator25000EmptyOkay, redactions: ['enduser'], enduserUpdatesDisabled: true },
|
|
1677
1687
|
noteIsFlagged: { validator: booleanValidator },
|
|
1678
|
-
insurance: { validator: insuranceOptionalValidator, redactions: ['enduser'] },
|
|
1679
|
-
insuranceSecondary: { validator: insuranceOptionalValidator, redactions: ['enduser'] },
|
|
1688
|
+
insurance: { validator: insuranceOptionalValidator, redactions: ['enduser'], enduserUpdatesDisabled: true }, // patient insurance entry is supported via intake forms (server-side write)
|
|
1689
|
+
insuranceSecondary: { validator: insuranceOptionalValidator, redactions: ['enduser'], enduserUpdatesDisabled: true },
|
|
1680
1690
|
bookingNotes: {
|
|
1681
1691
|
validator: listValidatorOptionalOrEmptyOk(objectValidator<{ bookingPageId: string, note: string }>({
|
|
1682
1692
|
bookingPageId: mongoIdStringRequired,
|
|
@@ -1694,24 +1704,25 @@ export const schema: SchemaV1 = build_schema({
|
|
|
1694
1704
|
})),
|
|
1695
1705
|
redactions: ['enduser'],
|
|
1696
1706
|
},
|
|
1697
|
-
references: { validator: listOfRelatedRecordsValidator, redactions: ['enduser'] },
|
|
1698
|
-
athenaDepartmentId: { validator: stringValidator100, redactions: ['enduser'] },
|
|
1699
|
-
athenaPracticeId: { validator: stringValidator100, redactions: ['enduser'] },
|
|
1700
|
-
salesforceId: { validator: stringValidator100, redactions: ['enduser'] },
|
|
1707
|
+
references: { validator: listOfRelatedRecordsValidator, redactions: ['enduser'], enduserUpdatesDisabled: true },
|
|
1708
|
+
athenaDepartmentId: { validator: stringValidator100, redactions: ['enduser'], enduserUpdatesDisabled: true },
|
|
1709
|
+
athenaPracticeId: { validator: stringValidator100, redactions: ['enduser'], enduserUpdatesDisabled: true },
|
|
1710
|
+
salesforceId: { validator: stringValidator100, redactions: ['enduser'], enduserUpdatesDisabled: true },
|
|
1701
1711
|
vitalTriggersDisabled: { validator: booleanValidator },
|
|
1702
1712
|
defaultFromPhone: { validator: phoneValidator, redactions: ['enduser'] },
|
|
1703
1713
|
defaultFromEmail: { validator: emailValidator, redactions: ['enduser'] },
|
|
1704
1714
|
useDefaultFromEmailInAutomations: { validator: booleanValidator },
|
|
1705
1715
|
useDefaultFromPhoneInAutomations: { validator: booleanValidator },
|
|
1706
|
-
stripeCustomerId: { validator: stringValidator100, redactions: ['enduser'] },
|
|
1707
|
-
stripeKey: { validator: stringValidator250, redactions: ['enduser'] },
|
|
1716
|
+
stripeCustomerId: { validator: stringValidator100, redactions: ['enduser'], enduserUpdatesDisabled: true },
|
|
1717
|
+
stripeKey: { validator: stringValidator250, redactions: ['enduser'], enduserUpdatesDisabled: true },
|
|
1708
1718
|
diagnoses: {
|
|
1709
1719
|
validator: listValidatorOptionalOrEmptyOk(enduserDiagnosisValidator),
|
|
1710
|
-
redactions: ['enduser']
|
|
1720
|
+
redactions: ['enduser'],
|
|
1721
|
+
enduserUpdatesDisabled: true,
|
|
1711
1722
|
},
|
|
1712
1723
|
unsubscribedFromPhones: { validator: listOfStringsValidatorUniqueOptionalOrEmptyOkay, redactions: ['enduser'] },
|
|
1713
|
-
lockedFromPortal: { validator: booleanValidator },
|
|
1714
|
-
eligibleForAutoMerge: { validator: booleanValidator },
|
|
1724
|
+
lockedFromPortal: { validator: booleanValidator, enduserUpdatesDisabled: true },
|
|
1725
|
+
eligibleForAutoMerge: { validator: booleanValidator, enduserUpdatesDisabled: true },
|
|
1715
1726
|
preferredPharmacy: { validator: pharmacyValidator, redactions: ['enduser'] },
|
|
1716
1727
|
// recentMessagePreview: {
|
|
1717
1728
|
// validator: stringValidator,
|
|
@@ -4237,6 +4248,9 @@ export const schema: SchemaV1 = build_schema({
|
|
|
4237
4248
|
enduserId: { // deleted as side effect of enduser delete
|
|
4238
4249
|
validator: mongoIdStringValidator,
|
|
4239
4250
|
},
|
|
4251
|
+
formResponseId: { // link to the form response a file was uploaded for (used for Beluga sync)
|
|
4252
|
+
validator: mongoIdStringValidator,
|
|
4253
|
+
},
|
|
4240
4254
|
secureName: {
|
|
4241
4255
|
validator: stringValidator250,
|
|
4242
4256
|
readonly: true,
|
|
@@ -4606,7 +4620,7 @@ export const schema: SchemaV1 = build_schema({
|
|
|
4606
4620
|
parameters: {
|
|
4607
4621
|
id: { validator: mongoIdStringValidator },
|
|
4608
4622
|
},
|
|
4609
|
-
returns: '
|
|
4623
|
+
returns: 'meetings' as any,
|
|
4610
4624
|
},
|
|
4611
4625
|
start_meeting: {
|
|
4612
4626
|
op: "custom", access: 'create', method: "post",
|
|
@@ -5025,8 +5039,8 @@ export const schema: SchemaV1 = build_schema({
|
|
|
5025
5039
|
fields: {
|
|
5026
5040
|
...BuiltInFields,
|
|
5027
5041
|
discussionRoomId: { validator: mongoIdStringValidator },
|
|
5028
|
-
hiddenFromTimeline: { validator: booleanValidator },
|
|
5029
|
-
lockedAt: { validator: dateValidator },
|
|
5042
|
+
hiddenFromTimeline: { validator: booleanValidator, enduserUpdatesDisabled: true },
|
|
5043
|
+
lockedAt: { validator: dateValidator, enduserUpdatesDisabled: true },
|
|
5030
5044
|
formId: {
|
|
5031
5045
|
validator: stringValidator100, // allow other external id types here too, not just mongoid
|
|
5032
5046
|
required: true,
|
|
@@ -5059,42 +5073,43 @@ export const schema: SchemaV1 = build_schema({
|
|
|
5059
5073
|
copiedFrom: { validator: mongoIdStringOptional },
|
|
5060
5074
|
copiedFromEnduserId: { validator: mongoIdStringOptional },
|
|
5061
5075
|
publicSubmit: { validator: booleanValidator },
|
|
5062
|
-
submittedBy: { validator: stringValidator250 },
|
|
5063
|
-
submittedByIsPlaceholder: { validator: booleanValidator },
|
|
5064
|
-
markedAsSubmitted: { validator: booleanValidator },
|
|
5076
|
+
submittedBy: { validator: stringValidator250, enduserUpdatesDisabled: true },
|
|
5077
|
+
submittedByIsPlaceholder: { validator: booleanValidator, enduserUpdatesDisabled: true },
|
|
5078
|
+
markedAsSubmitted: { validator: booleanValidator, enduserUpdatesDisabled: true }, // endusers submit via the submit_form_response custom action
|
|
5065
5079
|
accessCode: { validator: stringValidator250 },
|
|
5066
|
-
userEmail: { validator: emailValidator },
|
|
5067
|
-
submittedAt: { validator: dateValidator },
|
|
5068
|
-
formTitle: { validator: stringValidator250 },
|
|
5080
|
+
userEmail: { validator: emailValidator, enduserUpdatesDisabled: true },
|
|
5081
|
+
submittedAt: { validator: dateValidator, enduserUpdatesDisabled: true },
|
|
5082
|
+
formTitle: { validator: stringValidator250, enduserUpdatesDisabled: true },
|
|
5069
5083
|
responses: { validator: formResponsesValidator },
|
|
5070
5084
|
draftSavedAt: { validator: dateValidator },
|
|
5071
5085
|
draftSavedBy: { validator: mongoIdStringValidator },
|
|
5072
5086
|
hideFromEnduserPortal: { validator: booleanValidator },
|
|
5073
5087
|
sharedVia: { validator: communicationsChannelValidator },
|
|
5074
|
-
isInternalNote: { validator: booleanValidator },
|
|
5075
|
-
pinnedAt: { validator: dateOptionalOrEmptyStringValidator },
|
|
5088
|
+
isInternalNote: { validator: booleanValidator, enduserUpdatesDisabled: true },
|
|
5089
|
+
pinnedAt: { validator: dateOptionalOrEmptyStringValidator, enduserUpdatesDisabled: true },
|
|
5076
5090
|
publicIdentifier: { validator: stringValidator250 },
|
|
5077
5091
|
source: { validator: stringValidator250 },
|
|
5078
5092
|
externalId: { validator: stringValidator250 },
|
|
5079
5093
|
rootResponseId: { validator: mongoIdStringValidator },
|
|
5080
5094
|
parentResponseId: { validator: mongoIdStringValidator },
|
|
5081
|
-
tags: { validator: listOfStringsValidatorOptionalOrEmptyOk },
|
|
5095
|
+
tags: { validator: listOfStringsValidatorOptionalOrEmptyOk, enduserUpdatesDisabled: true },
|
|
5082
5096
|
carePlanId: { validator: mongoIdStringValidator },
|
|
5083
5097
|
context: { validator: stringValidator1000 },
|
|
5084
|
-
logoURL: { validator: stringValidator5000 },
|
|
5085
|
-
logoHeight: { validator: numberValidator },
|
|
5098
|
+
logoURL: { validator: stringValidator5000, enduserUpdatesDisabled: true },
|
|
5099
|
+
logoHeight: { validator: numberValidator, enduserUpdatesDisabled: true },
|
|
5086
5100
|
calendarEventId: { validator: mongoIdStringValidator },
|
|
5087
5101
|
references: { validator: listOfRelatedRecordsValidator, readonly: true },
|
|
5088
5102
|
groupId: { validator: mongoIdStringValidator },
|
|
5089
5103
|
groupInstance: { validator: stringValidator100 },
|
|
5090
5104
|
groupPosition: { validator: nonNegNumberValidator },
|
|
5091
5105
|
hideAfterUnsubmittedInMS: { validator: numberValidator },
|
|
5092
|
-
addenda: {
|
|
5093
|
-
validator: listValidatorOptionalOrEmptyOk(objectValidator<Addendum>({
|
|
5106
|
+
addenda: {
|
|
5107
|
+
validator: listValidatorOptionalOrEmptyOk(objectValidator<Addendum>({
|
|
5094
5108
|
text: stringValidator25000EmptyOkay,
|
|
5095
5109
|
timestamp: dateValidator,
|
|
5096
5110
|
userId: mongoIdStringRequired,
|
|
5097
|
-
}))
|
|
5111
|
+
})),
|
|
5112
|
+
enduserUpdatesDisabled: true,
|
|
5098
5113
|
},
|
|
5099
5114
|
followups: {
|
|
5100
5115
|
validator: listValidatorOptionalOrEmptyOk(objectValidator<FormResponseFollowup>({
|
|
@@ -5115,9 +5130,9 @@ export const schema: SchemaV1 = build_schema({
|
|
|
5115
5130
|
}))
|
|
5116
5131
|
},
|
|
5117
5132
|
startedViaPinnedForm: { validator: booleanValidator },
|
|
5118
|
-
enduserAISummary: { validator: stringValidator25000 },
|
|
5119
|
-
procedureCodes: { validator: procedureCodesValidator },
|
|
5120
|
-
diagnosisCodes: { validator: diagnosisCodesValidator },
|
|
5133
|
+
enduserAISummary: { validator: stringValidator25000, enduserUpdatesDisabled: true },
|
|
5134
|
+
procedureCodes: { validator: procedureCodesValidator, enduserUpdatesDisabled: true },
|
|
5135
|
+
diagnosisCodes: { validator: diagnosisCodesValidator, enduserUpdatesDisabled: true },
|
|
5121
5136
|
},
|
|
5122
5137
|
defaultActions: DEFAULT_OPERATIONS,
|
|
5123
5138
|
enduserActions: {
|
|
@@ -7199,7 +7214,7 @@ export const schema: SchemaV1 = build_schema({
|
|
|
7199
7214
|
type: stringValidatorOptional,
|
|
7200
7215
|
}),
|
|
7201
7216
|
},
|
|
7202
|
-
onboardingStatus: { validator:
|
|
7217
|
+
onboardingStatus: { validator: userPortalSettingsValidator }, // key-value store, same shape as User.portalSettings; read/write for org admins (not super-admin restricted)
|
|
7203
7218
|
creditCount: { validator: numberValidator, readonly: true },
|
|
7204
7219
|
stripeKeyDetails: {
|
|
7205
7220
|
validator: listValidatorOptionalOrEmptyOk(objectValidator<StripeKeyDetail>({
|
|
@@ -9418,6 +9433,8 @@ If a voicemail is left, it is indicated by recordingURI, transcription, or recor
|
|
|
9418
9433
|
}))},
|
|
9419
9434
|
tracking: { validator: stringValidatorOptional },
|
|
9420
9435
|
carrier: { validator: stringValidatorOptional },
|
|
9436
|
+
shippedDate: { validator: stringValidatorOptional },
|
|
9437
|
+
deliveredDate: { validator: stringValidatorOptional },
|
|
9421
9438
|
fill: { validator: stringValidatorOptional },
|
|
9422
9439
|
sku: { validator: stringValidatorOptional },
|
|
9423
9440
|
bookingLink: { validator: stringValidatorOptional },
|