@awell-health/awell-extensions 1.0.13 → 1.0.14
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/dist/extensions/markdown.json +1 -1
- package/dist/extensions/wellinks/actions/checkForChat/checkForChat.d.ts +33 -0
- package/dist/extensions/wellinks/actions/checkForChat/checkForChat.js +126 -0
- package/dist/extensions/wellinks/actions/checkForChat/checkForChat.js.map +1 -0
- package/dist/extensions/wellinks/actions/checkForChat/checkForChat.test.d.ts +1 -0
- package/dist/extensions/wellinks/actions/checkForChat/checkForChat.test.js +190 -0
- package/dist/extensions/wellinks/actions/checkForChat/checkForChat.test.js.map +1 -0
- package/dist/extensions/wellinks/actions/index.d.ts +59 -0
- package/dist/extensions/wellinks/actions/index.js +3 -1
- package/dist/extensions/wellinks/actions/index.js.map +1 -1
- package/dist/extensions/wellinks/gql/wellinksSdk.d.ts +252 -8
- package/dist/extensions/wellinks/gql/wellinksSdk.js +17 -1
- package/dist/extensions/wellinks/gql/wellinksSdk.js.map +1 -1
- package/dist/extensions/wellinks/graphql/queries.d.ts +1 -0
- package/dist/extensions/wellinks/graphql/queries.js +12 -1
- package/dist/extensions/wellinks/graphql/queries.js.map +1 -1
- package/package.json +1 -1
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"changelog": "# Twilio changelog\n\n## v2\n\nCompared to v1 (pre-beta release), the extension only has one custom action \"Send SMS\" instead of two. The Custom Action allows for:\n\n1. Sending a text message to a recipient (phone number) stored in a data point, including patient profile data points.\n2. Sending a text message to a fixed recipient (phone number).\n"
|
|
61
61
|
},
|
|
62
62
|
"wellinks": {
|
|
63
|
-
"readme": "# Wellinks Extension\n\nThe purpose of this extension is to keep application logic out of the Pathways and Tracks. Some actions require interactions with the Healthie API, hence the need for the API URL and Key in the settings.\n\n## Extension Settings\n\nYou will need to provide the API URL and Key for the Wellinks Healthie instance.\n\n# Custom Actions\n\n## Check for Override\n\nChecks to see if the patient in Healthie has an active Override form.\n\n## Check for Scheduled Appointments\n\nChecks to see if the patient in Healthie has an appointment of a specific type scheduled in the future
|
|
63
|
+
"readme": "# Wellinks Extension\n\nThe purpose of this extension is to keep application logic out of the Pathways and Tracks. Some actions require interactions with the Healthie API, hence the need for the API URL and Key in the settings.\n\n## Extension Settings\n\nYou will need to provide the API URL and Key for the Wellinks Healthie instance.\n\n# Custom Actions\n\n## Check for Override\n\nChecks to see if the patient in Healthie has an active Override form.\n\n## Check for Scheduled Appointments\n\nChecks to see if the patient in Healthie has an appointment of a specific type scheduled in the future.\n\n## Check for Chat",
|
|
64
64
|
"changelog": "# Wellinks Changelog\n\n## May 18th, 2023\n\nAdded the checkForOverride action.\n\n## May 19th, 2023\n\nAdded the checkForScheduledAppointment action.\n\n## May 25th, 2023\n\nAdded datapoints for actions"
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FieldType, type Action } from '@awell-health/extensions-core';
|
|
2
|
+
import { type settings } from '../../settings';
|
|
3
|
+
declare const fields: {
|
|
4
|
+
patientId: {
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
description: string;
|
|
8
|
+
type: FieldType.STRING;
|
|
9
|
+
required: true;
|
|
10
|
+
};
|
|
11
|
+
coachId: {
|
|
12
|
+
id: string;
|
|
13
|
+
label: string;
|
|
14
|
+
description: string;
|
|
15
|
+
type: FieldType.STRING;
|
|
16
|
+
required: true;
|
|
17
|
+
};
|
|
18
|
+
appointmentTime: {
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
description: string;
|
|
22
|
+
type: FieldType.DATE;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
declare const dataPoints: {
|
|
27
|
+
messageSent: {
|
|
28
|
+
key: string;
|
|
29
|
+
valueType: "boolean";
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export declare const checkForChat: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkForChat = void 0;
|
|
4
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
|
5
|
+
const extensions_core_2 = require("@awell-health/extensions-core");
|
|
6
|
+
const wellinksSdk_1 = require("../../gql/wellinksSdk");
|
|
7
|
+
const wellinksGraphqlClient_1 = require("../../wellinksGraphqlClient");
|
|
8
|
+
const lodash_1 = require("lodash");
|
|
9
|
+
const fields = {
|
|
10
|
+
patientId: {
|
|
11
|
+
id: 'patientId',
|
|
12
|
+
label: 'Patient ID',
|
|
13
|
+
description: 'The ID of the patient to check chats for.',
|
|
14
|
+
type: extensions_core_1.FieldType.STRING,
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
coachId: {
|
|
18
|
+
id: 'coachId',
|
|
19
|
+
label: 'Coach ID',
|
|
20
|
+
description: 'The ID of the coach to check chats for.',
|
|
21
|
+
type: extensions_core_1.FieldType.STRING,
|
|
22
|
+
required: true,
|
|
23
|
+
},
|
|
24
|
+
appointmentTime: {
|
|
25
|
+
id: 'appointmentTime',
|
|
26
|
+
label: 'Appointment Time',
|
|
27
|
+
description: 'The appointment time to check against',
|
|
28
|
+
type: extensions_core_1.FieldType.DATE,
|
|
29
|
+
required: true,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const dataPoints = {
|
|
33
|
+
messageSent: {
|
|
34
|
+
key: 'messageSent',
|
|
35
|
+
valueType: 'boolean',
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.checkForChat = {
|
|
39
|
+
key: 'checkForChat',
|
|
40
|
+
category: extensions_core_2.Category.SCHEDULING,
|
|
41
|
+
title: 'Check for Messages after Appointment',
|
|
42
|
+
description: 'Checks that a message has been sent 24 hours after the given Appointment',
|
|
43
|
+
fields,
|
|
44
|
+
dataPoints,
|
|
45
|
+
previewable: true,
|
|
46
|
+
onActivityCreated: async (payload, onComplete, onError) => {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
const { fields, settings } = payload;
|
|
49
|
+
const { patientId, coachId, appointmentTime } = fields;
|
|
50
|
+
try {
|
|
51
|
+
const client = (0, wellinksGraphqlClient_1.initialiseClient)(settings);
|
|
52
|
+
if (!(0, lodash_1.isNil)(client)) {
|
|
53
|
+
const sdk = (0, wellinksSdk_1.getSdk)(client);
|
|
54
|
+
const { data } = await sdk.getConversationMemberships({
|
|
55
|
+
client_id: patientId
|
|
56
|
+
});
|
|
57
|
+
if (!(0, lodash_1.isNil)(data.conversationMemberships)) {
|
|
58
|
+
const conversationMemberships = data.conversationMemberships.filter((conversation) => { var _a; return ((_a = conversation === null || conversation === void 0 ? void 0 : conversation.convo) === null || _a === void 0 ? void 0 : _a.dietitian_id) === coachId; });
|
|
59
|
+
for (const conversation of conversationMemberships) {
|
|
60
|
+
// check if dates are within 24 hours of each other
|
|
61
|
+
if (areDatesWithinDay(new Date((_b = (_a = conversation === null || conversation === void 0 ? void 0 : conversation.convo) === null || _a === void 0 ? void 0 : _a.updated_at) !== null && _b !== void 0 ? _b : ''), new Date(appointmentTime !== null && appointmentTime !== void 0 ? appointmentTime : ''))) {
|
|
62
|
+
await onComplete({
|
|
63
|
+
data_points: {
|
|
64
|
+
messageSent: 'true',
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
await onComplete({
|
|
70
|
+
data_points: {
|
|
71
|
+
messageSent: 'false',
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
await onError({
|
|
77
|
+
events: [
|
|
78
|
+
{
|
|
79
|
+
date: new Date().toISOString(),
|
|
80
|
+
text: { en: 'conversationMemberships returned null or undefined' },
|
|
81
|
+
error: {
|
|
82
|
+
category: 'SERVER_ERROR',
|
|
83
|
+
message: 'conversationMemberships returned null or undefined',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
await onError({
|
|
92
|
+
events: [
|
|
93
|
+
{
|
|
94
|
+
date: new Date().toISOString(),
|
|
95
|
+
text: { en: 'API client requires an API url and API key' },
|
|
96
|
+
error: {
|
|
97
|
+
category: 'MISSING_SETTINGS',
|
|
98
|
+
message: 'Missing api url or api key',
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
const error = err;
|
|
107
|
+
await onError({
|
|
108
|
+
events: [
|
|
109
|
+
{
|
|
110
|
+
date: new Date().toISOString(),
|
|
111
|
+
text: { en: 'There was in error checking for a recent Chat' },
|
|
112
|
+
error: {
|
|
113
|
+
category: 'SERVER_ERROR',
|
|
114
|
+
message: error.message,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
function areDatesWithinDay(date1, date2) {
|
|
123
|
+
const oneDay = 1000 * 60 * 60 * 24;
|
|
124
|
+
return date1.getTime() > (date2.getTime() + oneDay);
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=checkForChat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkForChat.js","sourceRoot":"","sources":["../../../../../extensions/wellinks/actions/checkForChat/checkForChat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const wellinksSdk_1 = require("../../gql/wellinksSdk");
|
|
4
|
+
const wellinksSdk_2 = require("../../gql/__mocks__/wellinksSdk");
|
|
5
|
+
const checkForChat_1 = require("./checkForChat");
|
|
6
|
+
jest.mock('../../gql/wellinksSdk');
|
|
7
|
+
jest.mock('../../wellinksGraphqlClient');
|
|
8
|
+
describe('the checkForChat action', () => {
|
|
9
|
+
const onComplete = jest.fn();
|
|
10
|
+
const onError = jest.fn();
|
|
11
|
+
beforeAll(() => {
|
|
12
|
+
wellinksSdk_1.getSdk.mockImplementation(wellinksSdk_2.mockGetSdk);
|
|
13
|
+
});
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
jest.clearAllMocks();
|
|
16
|
+
});
|
|
17
|
+
// DEFINE TEST CASE
|
|
18
|
+
test('when given a null data return from the Healthie API', async () => {
|
|
19
|
+
wellinksSdk_1.getSdk.mockReturnValueOnce({
|
|
20
|
+
...wellinksSdk_2.mockGetSdkReturn,
|
|
21
|
+
getConversationMemberships: wellinksSdk_2.mockGetSdkReturn.getConversationMemberships.mockReturnValueOnce({
|
|
22
|
+
data: {
|
|
23
|
+
conversationMemberships: null
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
await checkForChat_1.checkForChat.onActivityCreated({
|
|
28
|
+
pathway: {
|
|
29
|
+
id: 'pathway-id',
|
|
30
|
+
definition_id: 'pathway-definition-id'
|
|
31
|
+
},
|
|
32
|
+
activity: {
|
|
33
|
+
id: 'activity-id'
|
|
34
|
+
},
|
|
35
|
+
patient: { id: 'test-patient' },
|
|
36
|
+
fields: {
|
|
37
|
+
patientId: 'patientIdTest',
|
|
38
|
+
coachId: 'coachId',
|
|
39
|
+
appointmentTime: '2023-08-08'
|
|
40
|
+
},
|
|
41
|
+
settings: {
|
|
42
|
+
apiKey: 'apiKey',
|
|
43
|
+
apiUrl: 'test-url',
|
|
44
|
+
selectEventTypeQuestion: '2602707',
|
|
45
|
+
startSendingRemindersQuestions: '3860906',
|
|
46
|
+
memberEventFormId: '281216'
|
|
47
|
+
},
|
|
48
|
+
}, onComplete, onError);
|
|
49
|
+
// DO TESTS
|
|
50
|
+
expect(wellinksSdk_2.mockGetSdkReturn.getConversationMemberships).toHaveBeenCalled();
|
|
51
|
+
expect(onError).toBeCalledWith({
|
|
52
|
+
events: expect.arrayContaining([
|
|
53
|
+
expect.objectContaining({
|
|
54
|
+
error: {
|
|
55
|
+
category: 'SERVER_ERROR',
|
|
56
|
+
message: 'conversationMemberships returned null or undefined'
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
])
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
// DEFINE TEST CASE
|
|
63
|
+
test('when given a list of conversationMemberships where there is a message sent 24 hours after the appointmentDate returns true', async () => {
|
|
64
|
+
wellinksSdk_1.getSdk.mockReturnValueOnce({
|
|
65
|
+
...wellinksSdk_2.mockGetSdkReturn,
|
|
66
|
+
getConversationMemberships: wellinksSdk_2.mockGetSdkReturn.getConversationMemberships.mockReturnValueOnce({
|
|
67
|
+
data: {
|
|
68
|
+
conversationMemberships: [
|
|
69
|
+
{
|
|
70
|
+
"convo": {
|
|
71
|
+
"last_message_content": "Hi this is a message 24 hours after the appointment date",
|
|
72
|
+
"updated_at": "2023-05-30 15:00:00 -0500",
|
|
73
|
+
"dietitian_id": "coachId",
|
|
74
|
+
"patient_id": "37616"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"convo": {
|
|
79
|
+
"last_message_content": "\nHi Ash, after talking with you today I thought I’d share this resource with you, http://www.findhelp.org/.\nThis is a helpful way to find housing support in your area. By entering your zip code, you can find local resources. \nLet me know what you learn and what options you are considering. I’m excited to hear more. Talk to you soon.\n",
|
|
80
|
+
"updated_at": "2023-05-31 15:41:38 -0500",
|
|
81
|
+
"dietitian_id": null,
|
|
82
|
+
"patient_id": null
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"convo": {
|
|
87
|
+
"last_message_content": "",
|
|
88
|
+
"updated_at": "2023-02-03 09:41:45 -0600",
|
|
89
|
+
"dietitian_id": null,
|
|
90
|
+
"patient_id": null
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
});
|
|
97
|
+
await checkForChat_1.checkForChat.onActivityCreated({
|
|
98
|
+
pathway: {
|
|
99
|
+
id: 'pathway-id',
|
|
100
|
+
definition_id: 'pathway-definition-id'
|
|
101
|
+
},
|
|
102
|
+
activity: {
|
|
103
|
+
id: 'activity-id'
|
|
104
|
+
},
|
|
105
|
+
patient: { id: 'test-patient' },
|
|
106
|
+
fields: {
|
|
107
|
+
patientId: 'patientIdTest',
|
|
108
|
+
coachId: 'coachId',
|
|
109
|
+
appointmentTime: '2023-05-28'
|
|
110
|
+
},
|
|
111
|
+
settings: {
|
|
112
|
+
apiKey: 'apiKey',
|
|
113
|
+
apiUrl: 'test-url',
|
|
114
|
+
selectEventTypeQuestion: '2602707',
|
|
115
|
+
startSendingRemindersQuestions: '3860906',
|
|
116
|
+
memberEventFormId: '281216'
|
|
117
|
+
},
|
|
118
|
+
}, onComplete, onError);
|
|
119
|
+
expect(wellinksSdk_2.mockGetSdkReturn.getConversationMemberships).toHaveBeenCalled();
|
|
120
|
+
expect(onComplete).toHaveBeenCalledWith({
|
|
121
|
+
data_points: {
|
|
122
|
+
messageSent: 'true'
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
test('when given a list of conversationMemberships where there is not a message sent 24 hours after the appointmentDate returns false', async () => {
|
|
127
|
+
wellinksSdk_1.getSdk.mockReturnValueOnce({
|
|
128
|
+
...wellinksSdk_2.mockGetSdkReturn,
|
|
129
|
+
getConversationMemberships: wellinksSdk_2.mockGetSdkReturn.getConversationMemberships.mockReturnValueOnce({
|
|
130
|
+
data: {
|
|
131
|
+
conversationMemberships: [
|
|
132
|
+
{
|
|
133
|
+
"convo": {
|
|
134
|
+
"last_message_content": "There is no message within 24 hours of the appointment date",
|
|
135
|
+
"updated_at": "2023-05-30 15:00:00 -0500",
|
|
136
|
+
"dietitian_id": "coachId",
|
|
137
|
+
"patient_id": "37616"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"convo": {
|
|
142
|
+
"last_message_content": "\nHi Ash, after talking with you today I thought I’d share this resource with you, http://www.findhelp.org/.\nThis is a helpful way to find housing support in your area. By entering your zip code, you can find local resources. \nLet me know what you learn and what options you are considering. I’m excited to hear more. Talk to you soon.\n",
|
|
143
|
+
"updated_at": "2023-05-31 15:41:38 -0500",
|
|
144
|
+
"dietitian_id": null,
|
|
145
|
+
"patient_id": null
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"convo": {
|
|
150
|
+
"last_message_content": "",
|
|
151
|
+
"updated_at": "2023-02-03 09:41:45 -0600",
|
|
152
|
+
"dietitian_id": null,
|
|
153
|
+
"patient_id": null
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
})
|
|
159
|
+
});
|
|
160
|
+
await checkForChat_1.checkForChat.onActivityCreated({
|
|
161
|
+
pathway: {
|
|
162
|
+
id: 'pathway-id',
|
|
163
|
+
definition_id: 'pathway-definition-id'
|
|
164
|
+
},
|
|
165
|
+
activity: {
|
|
166
|
+
id: 'activity-id'
|
|
167
|
+
},
|
|
168
|
+
patient: { id: 'test-patient' },
|
|
169
|
+
fields: {
|
|
170
|
+
patientId: 'patientIdTest',
|
|
171
|
+
coachId: 'coachId',
|
|
172
|
+
appointmentTime: '2023-05-01'
|
|
173
|
+
},
|
|
174
|
+
settings: {
|
|
175
|
+
apiKey: 'apiKey',
|
|
176
|
+
apiUrl: 'test-url',
|
|
177
|
+
selectEventTypeQuestion: '2602707',
|
|
178
|
+
startSendingRemindersQuestions: '3860906',
|
|
179
|
+
memberEventFormId: '281216'
|
|
180
|
+
},
|
|
181
|
+
}, onComplete, onError);
|
|
182
|
+
expect(wellinksSdk_2.mockGetSdkReturn.getConversationMemberships).toHaveBeenCalled();
|
|
183
|
+
expect(onComplete).toHaveBeenCalledWith({
|
|
184
|
+
data_points: {
|
|
185
|
+
messageSent: 'false'
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
//# sourceMappingURL=checkForChat.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkForChat.test.js","sourceRoot":"","sources":["../../../../../extensions/wellinks/actions/checkForChat/checkForChat.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,4 +96,63 @@ export declare const actions: {
|
|
|
96
96
|
description: string;
|
|
97
97
|
};
|
|
98
98
|
}, "appointmentScheduled">;
|
|
99
|
+
checkForChat: import("@awell-health/extensions-core").Action<{
|
|
100
|
+
patientId: {
|
|
101
|
+
id: string;
|
|
102
|
+
label: string;
|
|
103
|
+
description: string;
|
|
104
|
+
type: import("@awell-health/extensions-core").FieldType.STRING;
|
|
105
|
+
required: true;
|
|
106
|
+
};
|
|
107
|
+
coachId: {
|
|
108
|
+
id: string;
|
|
109
|
+
label: string;
|
|
110
|
+
description: string;
|
|
111
|
+
type: import("@awell-health/extensions-core").FieldType.STRING;
|
|
112
|
+
required: true;
|
|
113
|
+
};
|
|
114
|
+
appointmentTime: {
|
|
115
|
+
id: string;
|
|
116
|
+
label: string;
|
|
117
|
+
description: string;
|
|
118
|
+
type: import("@awell-health/extensions-core").FieldType.DATE;
|
|
119
|
+
required: true;
|
|
120
|
+
};
|
|
121
|
+
}, {
|
|
122
|
+
apiUrl: {
|
|
123
|
+
key: string;
|
|
124
|
+
label: string;
|
|
125
|
+
obfuscated: false;
|
|
126
|
+
required: true;
|
|
127
|
+
description: string;
|
|
128
|
+
};
|
|
129
|
+
apiKey: {
|
|
130
|
+
key: string;
|
|
131
|
+
label: string;
|
|
132
|
+
obfuscated: true;
|
|
133
|
+
required: true;
|
|
134
|
+
description: string;
|
|
135
|
+
};
|
|
136
|
+
selectEventTypeQuestion: {
|
|
137
|
+
key: string;
|
|
138
|
+
label: string;
|
|
139
|
+
obfuscated: true;
|
|
140
|
+
required: true;
|
|
141
|
+
description: string;
|
|
142
|
+
};
|
|
143
|
+
startSendingRemindersQuestions: {
|
|
144
|
+
key: string;
|
|
145
|
+
label: string;
|
|
146
|
+
obfuscated: true;
|
|
147
|
+
required: true;
|
|
148
|
+
description: string;
|
|
149
|
+
};
|
|
150
|
+
memberEventFormId: {
|
|
151
|
+
key: string;
|
|
152
|
+
label: string;
|
|
153
|
+
obfuscated: true;
|
|
154
|
+
required: true;
|
|
155
|
+
description: string;
|
|
156
|
+
};
|
|
157
|
+
}, "messageSent">;
|
|
99
158
|
};
|
|
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.actions = void 0;
|
|
4
4
|
const checkForOverride_1 = require("./checkForOverride/checkForOverride");
|
|
5
5
|
const checkForScheduledAppointment_1 = require("./checkForScheduledAppointment/checkForScheduledAppointment");
|
|
6
|
+
const checkForChat_1 = require("./checkForChat/checkForChat");
|
|
6
7
|
exports.actions = {
|
|
7
8
|
checkForOverride: checkForOverride_1.checkForOverride,
|
|
8
|
-
checkForScheduledAppointment: checkForScheduledAppointment_1.checkForScheduledAppointment
|
|
9
|
+
checkForScheduledAppointment: checkForScheduledAppointment_1.checkForScheduledAppointment,
|
|
10
|
+
checkForChat: checkForChat_1.checkForChat
|
|
9
11
|
};
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/wellinks/actions/index.ts"],"names":[],"mappings":";;;AAAA,0EAAuE;AACvE,8GAA2G;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/wellinks/actions/index.ts"],"names":[],"mappings":";;;AAAA,0EAAuE;AACvE,8GAA2G;AAC3G,8DAA2D;AAC9C,QAAA,OAAO,GAAG;IACnB,gBAAgB,EAAhB,mCAAgB;IAChB,4BAA4B,EAA5B,2DAA4B;IAC5B,YAAY,EAAZ,2BAAY;CACf,CAAA"}
|
|
@@ -296,6 +296,8 @@ export type Appointment = {
|
|
|
296
296
|
pm_status?: Maybe<Scalars['String']>;
|
|
297
297
|
/** The date and time the status of the appointment was last updated */
|
|
298
298
|
pm_status_changed_at?: Maybe<Scalars['String']>;
|
|
299
|
+
/** Get the pricing info for this appointment */
|
|
300
|
+
pricing_info?: Maybe<AppointmentPricingInfoType>;
|
|
299
301
|
/** The provider for the appointment */
|
|
300
302
|
provider?: Maybe<User>;
|
|
301
303
|
/** Provider name */
|
|
@@ -508,6 +510,12 @@ export type AppointmentPerUserData = {
|
|
|
508
510
|
/** The name of the provider who we count appointments for */
|
|
509
511
|
name?: Maybe<Scalars['String']>;
|
|
510
512
|
};
|
|
513
|
+
export type AppointmentPricingInfoType = {
|
|
514
|
+
__typename?: 'AppointmentPricingInfoType';
|
|
515
|
+
cpt_code_id?: Maybe<Scalars['String']>;
|
|
516
|
+
price?: Maybe<Scalars['String']>;
|
|
517
|
+
units?: Maybe<Scalars['String']>;
|
|
518
|
+
};
|
|
511
519
|
/** Appointment Setting options that a provider can customize */
|
|
512
520
|
export type AppointmentSetting = {
|
|
513
521
|
__typename?: 'AppointmentSetting';
|
|
@@ -779,7 +787,7 @@ export type AppointmentType = {
|
|
|
779
787
|
custom_text_reminder_body?: Maybe<Scalars['String']>;
|
|
780
788
|
/** Date time appointment type was deleted */
|
|
781
789
|
deleted_at?: Maybe<Scalars['String']>;
|
|
782
|
-
/** When true, the client will not be asked to add a reason
|
|
790
|
+
/** When true, the client will not be asked to add a reason when booking an appointment of this type */
|
|
783
791
|
dont_ask_for_reason?: Maybe<Scalars['Boolean']>;
|
|
784
792
|
/** ID of the embedded custom module form */
|
|
785
793
|
embed_question_form_id?: Maybe<Scalars['String']>;
|
|
@@ -2908,6 +2916,21 @@ export type DoseSpot = {
|
|
|
2908
2916
|
/** User ID associated with the dosespot object in Healthie */
|
|
2909
2917
|
user_id?: Maybe<Scalars['String']>;
|
|
2910
2918
|
};
|
|
2919
|
+
/** Autogenerated input type of DosespotSSO */
|
|
2920
|
+
export type DosespotSsoInput = {
|
|
2921
|
+
/** A unique identifier for the client performing the mutation. */
|
|
2922
|
+
clientMutationId?: InputMaybe<Scalars['String']>;
|
|
2923
|
+
patient_id: Scalars['ID'];
|
|
2924
|
+
user_id: Scalars['ID'];
|
|
2925
|
+
};
|
|
2926
|
+
/** Autogenerated return type of DosespotSSO */
|
|
2927
|
+
export type DosespotSsoPayload = {
|
|
2928
|
+
__typename?: 'DosespotSSOPayload';
|
|
2929
|
+
/** A unique identifier for the client performing the mutation. */
|
|
2930
|
+
clientMutationId?: Maybe<Scalars['String']>;
|
|
2931
|
+
messages?: Maybe<Array<Maybe<FieldError>>>;
|
|
2932
|
+
success_string?: Maybe<Scalars['String']>;
|
|
2933
|
+
};
|
|
2911
2934
|
/** draft of a conversation note */
|
|
2912
2935
|
export type Draft = {
|
|
2913
2936
|
__typename?: 'Draft';
|
|
@@ -3006,6 +3029,8 @@ export type Entry = {
|
|
|
3006
3029
|
source?: Maybe<Scalars['String']>;
|
|
3007
3030
|
/** subentries of the Entry */
|
|
3008
3031
|
subentries?: Maybe<Array<Maybe<Entry>>>;
|
|
3032
|
+
/** Comma-separated list of symptom names */
|
|
3033
|
+
symptom_names?: Maybe<Scalars['String']>;
|
|
3009
3034
|
/** Multiple symptoms ID selected by the client */
|
|
3010
3035
|
symptoms?: Maybe<Scalars['String']>;
|
|
3011
3036
|
/** A name of third party source which actually created the entry */
|
|
@@ -3253,6 +3278,8 @@ export type FeatureToggle = {
|
|
|
3253
3278
|
show_weight_metric?: Maybe<Scalars['Boolean']>;
|
|
3254
3279
|
/** The status of whether the client can post workout entries */
|
|
3255
3280
|
show_workout?: Maybe<Scalars['Boolean']>;
|
|
3281
|
+
/** Symptom options for symptom entry type */
|
|
3282
|
+
symptom_options: Array<SymptomOption>;
|
|
3256
3283
|
/** The status of whether the client uses the metric system (versus imperial) */
|
|
3257
3284
|
use_metric_system?: Maybe<Scalars['Boolean']>;
|
|
3258
3285
|
/** The user group associated with this feature toggle */
|
|
@@ -3738,6 +3765,18 @@ export type GoogleFit = {
|
|
|
3738
3765
|
/** The last time the apple health was synced */
|
|
3739
3766
|
last_sync_date?: Maybe<Scalars['String']>;
|
|
3740
3767
|
};
|
|
3768
|
+
export type GroupCarePlanUserConnection = {
|
|
3769
|
+
__typename?: 'GroupCarePlanUserConnection';
|
|
3770
|
+
/** The care plan active status */
|
|
3771
|
+
active?: Maybe<Scalars['Boolean']>;
|
|
3772
|
+
/** The ID of the care plan */
|
|
3773
|
+
care_plan_id?: Maybe<Scalars['ID']>;
|
|
3774
|
+
id: Scalars['ID'];
|
|
3775
|
+
/** The ID of the user_group */
|
|
3776
|
+
user_group_id?: Maybe<Scalars['ID']>;
|
|
3777
|
+
/** The ID of the client */
|
|
3778
|
+
user_id?: Maybe<Scalars['ID']>;
|
|
3779
|
+
};
|
|
3741
3780
|
/** Health Assessment contains in-depth help info and goals for a client */
|
|
3742
3781
|
export type HealthAssessment = {
|
|
3743
3782
|
__typename?: 'HealthAssessment';
|
|
@@ -4509,6 +4548,8 @@ export type Mutation = {
|
|
|
4509
4548
|
createCustomModuleForm?: Maybe<CreateCustomModuleFormPayload>;
|
|
4510
4549
|
/** create Document */
|
|
4511
4550
|
createDocument?: Maybe<CreateDocumentPayload>;
|
|
4551
|
+
/** Create dosespot clinician */
|
|
4552
|
+
createDosespotClinician?: Maybe<CreateDosespotClinicianPayload>;
|
|
4512
4553
|
/** create Draft */
|
|
4513
4554
|
createDraft?: Maybe<CreateDraftPayload>;
|
|
4514
4555
|
/** create ebook */
|
|
@@ -4799,6 +4840,8 @@ export type Mutation = {
|
|
|
4799
4840
|
exportCarePlanToTemplate?: Maybe<ExportToTemplatePayload>;
|
|
4800
4841
|
/** Generate a PDF of charting notes for a client */
|
|
4801
4842
|
generateChartingPdf?: Maybe<GenerateChartingPdfPayload>;
|
|
4843
|
+
/** Generate Patients Dosespot SSO for a Given Provider */
|
|
4844
|
+
generateDosespotSingleSignOn?: Maybe<DosespotSsoPayload>;
|
|
4802
4845
|
/** Sign up Healthie User in the Health Assessment Service */
|
|
4803
4846
|
healthAssessmentServiceSignup?: Maybe<HealthAssessmentServiceSignupPayload>;
|
|
4804
4847
|
/** Mask in as another user */
|
|
@@ -4817,6 +4860,8 @@ export type Mutation = {
|
|
|
4817
4860
|
removeCardOnFile?: Maybe<RemoveCardOnFilePayload>;
|
|
4818
4861
|
/** remove Draft */
|
|
4819
4862
|
removeDraft?: Maybe<RemoveDraftPayload>;
|
|
4863
|
+
/** remove group care plan user connection for a specific user */
|
|
4864
|
+
removeUserFromGroupCarePlan?: Maybe<RemoveUserFromGroupCarePlanPayload>;
|
|
4820
4865
|
/** resend Sent Fax */
|
|
4821
4866
|
resendSentFax?: Maybe<ResendSentFaxPayload>;
|
|
4822
4867
|
/** send the human a password reset email */
|
|
@@ -5214,6 +5259,9 @@ export type MutationCreateCustomModuleFormArgs = {
|
|
|
5214
5259
|
export type MutationCreateDocumentArgs = {
|
|
5215
5260
|
input: CreateDocumentInput;
|
|
5216
5261
|
};
|
|
5262
|
+
export type MutationCreateDosespotClinicianArgs = {
|
|
5263
|
+
input: CreateDosespotClinicianInput;
|
|
5264
|
+
};
|
|
5217
5265
|
export type MutationCreateDraftArgs = {
|
|
5218
5266
|
input: CreateDraftInput;
|
|
5219
5267
|
};
|
|
@@ -5652,6 +5700,9 @@ export type MutationExportCarePlanToTemplateArgs = {
|
|
|
5652
5700
|
export type MutationGenerateChartingPdfArgs = {
|
|
5653
5701
|
input: GenerateChartingPdfInput;
|
|
5654
5702
|
};
|
|
5703
|
+
export type MutationGenerateDosespotSingleSignOnArgs = {
|
|
5704
|
+
input: DosespotSsoInput;
|
|
5705
|
+
};
|
|
5655
5706
|
export type MutationHealthAssessmentServiceSignupArgs = {
|
|
5656
5707
|
input: HealthAssessmentServiceSignupInput;
|
|
5657
5708
|
};
|
|
@@ -5679,6 +5730,9 @@ export type MutationRemoveCardOnFileArgs = {
|
|
|
5679
5730
|
export type MutationRemoveDraftArgs = {
|
|
5680
5731
|
input: RemoveDraftInput;
|
|
5681
5732
|
};
|
|
5733
|
+
export type MutationRemoveUserFromGroupCarePlanArgs = {
|
|
5734
|
+
input: RemoveUserFromGroupCarePlanInput;
|
|
5735
|
+
};
|
|
5682
5736
|
export type MutationResendSentFaxArgs = {
|
|
5683
5737
|
input: ResendSentFaxInput;
|
|
5684
5738
|
};
|
|
@@ -7807,8 +7861,6 @@ export type Query = {
|
|
|
7807
7861
|
entriesCount?: Maybe<Scalars['Int']>;
|
|
7808
7862
|
/** fetch an entry by id */
|
|
7809
7863
|
entry?: Maybe<Entry>;
|
|
7810
|
-
/** Returns all feature IBA org IDs */
|
|
7811
|
-
featureIbaOrgIds?: Maybe<Array<Maybe<Scalars['String']>>>;
|
|
7812
7864
|
/** fetch a featureToggle by id */
|
|
7813
7865
|
featureToggle?: Maybe<FeatureToggle>;
|
|
7814
7866
|
/** fetch a featureToggle by id */
|
|
@@ -8144,6 +8196,12 @@ export type Query = {
|
|
|
8144
8196
|
superBills?: Maybe<Array<Maybe<SuperBill>>>;
|
|
8145
8197
|
/** Number of super bills */
|
|
8146
8198
|
superBillsCount?: Maybe<Scalars['Int']>;
|
|
8199
|
+
/** INTERNAL -- Query User Object */
|
|
8200
|
+
supportDashboardOrganization?: Maybe<SupportDashboardOrg>;
|
|
8201
|
+
/** Rough Total Patient Count */
|
|
8202
|
+
supportDashboardTotalPatientCount?: Maybe<Scalars['Int']>;
|
|
8203
|
+
/** INTERNAL -- Query User Object */
|
|
8204
|
+
supportDashboardUsers?: Maybe<SupportDashboardHuman>;
|
|
8147
8205
|
/** A collection of tags related to current patient/provider/organization */
|
|
8148
8206
|
tags?: Maybe<Array<Maybe<Tag>>>;
|
|
8149
8207
|
/** Number of tags */
|
|
@@ -8465,6 +8523,7 @@ export type QueryBaseCms1500ForUserArgs = {
|
|
|
8465
8523
|
base_date?: InputMaybe<Scalars['String']>;
|
|
8466
8524
|
cms1500_id?: InputMaybe<Scalars['String']>;
|
|
8467
8525
|
form_answer_group_id?: InputMaybe<Scalars['ID']>;
|
|
8526
|
+
only_active_policies?: InputMaybe<Scalars['Boolean']>;
|
|
8468
8527
|
patient_id?: InputMaybe<Scalars['ID']>;
|
|
8469
8528
|
rendering_provider_id?: InputMaybe<Scalars['String']>;
|
|
8470
8529
|
};
|
|
@@ -8944,10 +9003,6 @@ export type QueryEntryArgs = {
|
|
|
8944
9003
|
type?: InputMaybe<Scalars['String']>;
|
|
8945
9004
|
};
|
|
8946
9005
|
/** The query root of this schema. See available queries. */
|
|
8947
|
-
export type QueryFeatureIbaOrgIdsArgs = {
|
|
8948
|
-
provider_id?: InputMaybe<Scalars['ID']>;
|
|
8949
|
-
};
|
|
8950
|
-
/** The query root of this schema. See available queries. */
|
|
8951
9006
|
export type QueryFeatureToggleArgs = {
|
|
8952
9007
|
id?: InputMaybe<Scalars['ID']>;
|
|
8953
9008
|
user_id?: InputMaybe<Scalars['ID']>;
|
|
@@ -9918,6 +9973,20 @@ export type QuerySuperBillsCountArgs = {
|
|
|
9918
9973
|
status?: InputMaybe<Scalars['String']>;
|
|
9919
9974
|
};
|
|
9920
9975
|
/** The query root of this schema. See available queries. */
|
|
9976
|
+
export type QuerySupportDashboardOrganizationArgs = {
|
|
9977
|
+
provider_id?: InputMaybe<Scalars['ID']>;
|
|
9978
|
+
};
|
|
9979
|
+
/** The query root of this schema. See available queries. */
|
|
9980
|
+
export type QuerySupportDashboardTotalPatientCountArgs = {
|
|
9981
|
+
offset?: InputMaybe<Scalars['Int']>;
|
|
9982
|
+
};
|
|
9983
|
+
/** The query root of this schema. See available queries. */
|
|
9984
|
+
export type QuerySupportDashboardUsersArgs = {
|
|
9985
|
+
email?: InputMaybe<Scalars['String']>;
|
|
9986
|
+
namespace?: InputMaybe<Scalars['String']>;
|
|
9987
|
+
user_id?: InputMaybe<Scalars['ID']>;
|
|
9988
|
+
};
|
|
9989
|
+
/** The query root of this schema. See available queries. */
|
|
9921
9990
|
export type QueryTagsArgs = {
|
|
9922
9991
|
applied_to_providers?: InputMaybe<Scalars['Boolean']>;
|
|
9923
9992
|
ids?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>;
|
|
@@ -9993,7 +10062,6 @@ export type QueryUngroupedCourseMembershipsCountArgs = {
|
|
|
9993
10062
|
export type QueryUserArgs = {
|
|
9994
10063
|
clear_notifs?: InputMaybe<Scalars['Boolean']>;
|
|
9995
10064
|
email?: InputMaybe<Scalars['String']>;
|
|
9996
|
-
from_superadmin?: InputMaybe<Scalars['Boolean']>;
|
|
9997
10065
|
id?: InputMaybe<Scalars['ID']>;
|
|
9998
10066
|
or_current_user?: InputMaybe<Scalars['Boolean']>;
|
|
9999
10067
|
};
|
|
@@ -11173,6 +11241,74 @@ export type SuperBill = {
|
|
|
11173
11241
|
/** date super bill was updated */
|
|
11174
11242
|
updated_at?: Maybe<Scalars['String']>;
|
|
11175
11243
|
};
|
|
11244
|
+
/** INTERNAL -- Data on the Human Object */
|
|
11245
|
+
export type SupportDashboardHuman = {
|
|
11246
|
+
__typename?: 'SupportDashboardHuman';
|
|
11247
|
+
api_key?: Maybe<Scalars['String']>;
|
|
11248
|
+
created_at?: Maybe<Scalars['String']>;
|
|
11249
|
+
current_sign_in_at?: Maybe<Scalars['String']>;
|
|
11250
|
+
current_sign_in_ip?: Maybe<Scalars['String']>;
|
|
11251
|
+
current_user?: Maybe<SupportDashboardUser>;
|
|
11252
|
+
current_user_id?: Maybe<Scalars['String']>;
|
|
11253
|
+
deleted_at?: Maybe<Scalars['String']>;
|
|
11254
|
+
email?: Maybe<Scalars['String']>;
|
|
11255
|
+
id: Scalars['ID'];
|
|
11256
|
+
last_sign_in_at?: Maybe<Scalars['String']>;
|
|
11257
|
+
last_sign_in_ip?: Maybe<Scalars['String']>;
|
|
11258
|
+
namespace?: Maybe<Scalars['String']>;
|
|
11259
|
+
requires_2fa?: Maybe<Scalars['String']>;
|
|
11260
|
+
reset_password_sent_at?: Maybe<Scalars['String']>;
|
|
11261
|
+
sign_in_count?: Maybe<Scalars['String']>;
|
|
11262
|
+
switched_provider_at?: Maybe<Scalars['String']>;
|
|
11263
|
+
updated_at?: Maybe<Scalars['String']>;
|
|
11264
|
+
username?: Maybe<Scalars['String']>;
|
|
11265
|
+
users?: Maybe<Array<Maybe<SupportDashboardUser>>>;
|
|
11266
|
+
};
|
|
11267
|
+
/** INTERNAL -- Data on the Org Object */
|
|
11268
|
+
export type SupportDashboardOrg = {
|
|
11269
|
+
__typename?: 'SupportDashboardOrg';
|
|
11270
|
+
id: Scalars['ID'];
|
|
11271
|
+
/** Name of Org */
|
|
11272
|
+
name?: Maybe<Scalars['String']>;
|
|
11273
|
+
/** Owner of Organization */
|
|
11274
|
+
owner?: Maybe<SupportDashboardUser>;
|
|
11275
|
+
/** Parent Organization for this org */
|
|
11276
|
+
parent_organization?: Maybe<SupportDashboardOrg>;
|
|
11277
|
+
/** ID of the parent organization */
|
|
11278
|
+
parent_organization_id?: Maybe<Scalars['ID']>;
|
|
11279
|
+
/** Suborganizations for this org */
|
|
11280
|
+
suborganizations?: Maybe<Array<Maybe<SupportDashboardOrg>>>;
|
|
11281
|
+
users?: Maybe<Array<Maybe<SupportDashboardUser>>>;
|
|
11282
|
+
};
|
|
11283
|
+
/** INTERNAL -- Data on the Organization Membership Object */
|
|
11284
|
+
export type SupportDashboardOrganizationMembership = {
|
|
11285
|
+
__typename?: 'SupportDashboardOrganizationMembership';
|
|
11286
|
+
id: Scalars['ID'];
|
|
11287
|
+
is_admin?: Maybe<Scalars['Boolean']>;
|
|
11288
|
+
is_provider?: Maybe<Scalars['Boolean']>;
|
|
11289
|
+
org_role?: Maybe<Scalars['String']>;
|
|
11290
|
+
};
|
|
11291
|
+
/** INTERNAL -- Data on the User Object */
|
|
11292
|
+
export type SupportDashboardUser = {
|
|
11293
|
+
__typename?: 'SupportDashboardUser';
|
|
11294
|
+
active?: Maybe<Scalars['Boolean']>;
|
|
11295
|
+
dietitian?: Maybe<SupportDashboardUser>;
|
|
11296
|
+
email?: Maybe<Scalars['String']>;
|
|
11297
|
+
/** The full name of the user */
|
|
11298
|
+
full_name?: Maybe<Scalars['String']>;
|
|
11299
|
+
id: Scalars['ID'];
|
|
11300
|
+
is_patient?: Maybe<Scalars['Boolean']>;
|
|
11301
|
+
organization?: Maybe<SupportDashboardOrg>;
|
|
11302
|
+
/** The organization membership of the user */
|
|
11303
|
+
organization_membership?: Maybe<SupportDashboardOrganizationMembership>;
|
|
11304
|
+
stripe_customer_details?: Maybe<Array<Maybe<StripeCustomerDetail>>>;
|
|
11305
|
+
stripe_id?: Maybe<Scalars['String']>;
|
|
11306
|
+
stripe_person_id?: Maybe<Scalars['String']>;
|
|
11307
|
+
/** Returns the subscription for this user */
|
|
11308
|
+
subscription?: Maybe<SubscriptionInstance>;
|
|
11309
|
+
total_patient_count?: Maybe<Scalars['Int']>;
|
|
11310
|
+
whitelabel_setting?: Maybe<WhitelabelSetting>;
|
|
11311
|
+
};
|
|
11176
11312
|
/** Autogenerated input type of SwitchProviderToClient */
|
|
11177
11313
|
export type SwitchProviderToClientInput = {
|
|
11178
11314
|
/** A unique identifier for the client performing the mutation. */
|
|
@@ -11188,6 +11324,16 @@ export type SwitchProviderToClientPayload = {
|
|
|
11188
11324
|
messages?: Maybe<Array<Maybe<FieldError>>>;
|
|
11189
11325
|
success_string?: Maybe<Scalars['String']>;
|
|
11190
11326
|
};
|
|
11327
|
+
/** A Symptom Option */
|
|
11328
|
+
export type SymptomOption = {
|
|
11329
|
+
__typename?: 'SymptomOption';
|
|
11330
|
+
/** Custom Symptoms use numeric IDs. Standard symptoms just use the symptom name */
|
|
11331
|
+
id: Scalars['ID'];
|
|
11332
|
+
/** The symptom name */
|
|
11333
|
+
name: Scalars['String'];
|
|
11334
|
+
/** The symptom value */
|
|
11335
|
+
value: Scalars['Int'];
|
|
11336
|
+
};
|
|
11191
11337
|
/** A custom tag that can be applied on a user */
|
|
11192
11338
|
export type Tag = {
|
|
11193
11339
|
__typename?: 'Tag';
|
|
@@ -11747,6 +11893,8 @@ export type User = {
|
|
|
11747
11893
|
group_name?: Maybe<Scalars['String']>;
|
|
11748
11894
|
/** When true, the user can see client portal setting in notification contact form */
|
|
11749
11895
|
has_access_to_client_portal_setting_in_notification_contact?: Maybe<Scalars['Boolean']>;
|
|
11896
|
+
/** When true, the user can see insurance billing automation features */
|
|
11897
|
+
has_access_to_insurance_billing_automation?: Maybe<Scalars['Boolean']>;
|
|
11750
11898
|
/** If true, the user's account can take ACH payments */
|
|
11751
11899
|
has_ach?: Maybe<Scalars['Boolean']>;
|
|
11752
11900
|
/** If true, user has at least one entry type to track */
|
|
@@ -13045,6 +13193,8 @@ export type CreateAppointmentInput = {
|
|
|
13045
13193
|
/** A unique identifier for the client performing the mutation. */
|
|
13046
13194
|
clientMutationId?: InputMaybe<Scalars['String']>;
|
|
13047
13195
|
contact_type?: InputMaybe<Scalars['String']>;
|
|
13196
|
+
/** Cpt code associated with this appointment */
|
|
13197
|
+
cpt_code_id?: InputMaybe<Scalars['ID']>;
|
|
13048
13198
|
date?: InputMaybe<Scalars['String']>;
|
|
13049
13199
|
/** Timestamp in YYYY-MM-DD HH:MM:SS or ISO8601 format, supercedes date, time params. */
|
|
13050
13200
|
datetime?: InputMaybe<Scalars['String']>;
|
|
@@ -13061,6 +13211,8 @@ export type CreateAppointmentInput = {
|
|
|
13061
13211
|
max_attendees?: InputMaybe<Scalars['String']>;
|
|
13062
13212
|
notes?: InputMaybe<Scalars['String']>;
|
|
13063
13213
|
other_party_id?: InputMaybe<Scalars['String']>;
|
|
13214
|
+
/** The price associated with this appointment */
|
|
13215
|
+
price?: InputMaybe<Scalars['String']>;
|
|
13064
13216
|
providers?: InputMaybe<Scalars['String']>;
|
|
13065
13217
|
recurring_appointment?: InputMaybe<RecurringAppointmentInput>;
|
|
13066
13218
|
/** deprecated, use recurring_appointment instead */
|
|
@@ -13074,6 +13226,8 @@ export type CreateAppointmentInput = {
|
|
|
13074
13226
|
time?: InputMaybe<Scalars['String']>;
|
|
13075
13227
|
/** Timezone to use for date and time fields. Overrides the timezone of the current user */
|
|
13076
13228
|
timezone?: InputMaybe<Scalars['String']>;
|
|
13229
|
+
/** Units to use as a multiplier for appointment price */
|
|
13230
|
+
units?: InputMaybe<Scalars['String']>;
|
|
13077
13231
|
user_id?: InputMaybe<Scalars['String']>;
|
|
13078
13232
|
};
|
|
13079
13233
|
/** Autogenerated return type of createAppointment */
|
|
@@ -13112,6 +13266,7 @@ export type CreateAppointmentSettingInput = {
|
|
|
13112
13266
|
default_group_charting_template_id?: InputMaybe<Scalars['ID']>;
|
|
13113
13267
|
default_to_zoom?: InputMaybe<Scalars['Boolean']>;
|
|
13114
13268
|
default_video_service?: InputMaybe<Scalars['String']>;
|
|
13269
|
+
disable_requested_form_notifications?: InputMaybe<Scalars['Boolean']>;
|
|
13115
13270
|
end_time?: InputMaybe<Scalars['String']>;
|
|
13116
13271
|
/** Deprecated */
|
|
13117
13272
|
give_notes_name?: InputMaybe<Scalars['Boolean']>;
|
|
@@ -13135,6 +13290,8 @@ export type CreateAppointmentSettingInput = {
|
|
|
13135
13290
|
reply_to_provider?: InputMaybe<Scalars['Boolean']>;
|
|
13136
13291
|
restore_credit_on_cancel?: InputMaybe<Scalars['Boolean']>;
|
|
13137
13292
|
same_day_appointments?: InputMaybe<Scalars['Boolean']>;
|
|
13293
|
+
send_appointment_cancellation_email?: InputMaybe<Scalars['Boolean']>;
|
|
13294
|
+
send_appointment_update_email?: InputMaybe<Scalars['Boolean']>;
|
|
13138
13295
|
send_booking_notice?: InputMaybe<Scalars['Boolean']>;
|
|
13139
13296
|
send_email_before_appointment?: InputMaybe<Scalars['Boolean']>;
|
|
13140
13297
|
send_intake_forms_reminder?: InputMaybe<Scalars['Boolean']>;
|
|
@@ -13200,6 +13357,8 @@ export type CreateAppointmentTypeInput = {
|
|
|
13200
13357
|
/** When false, clients will not have the ability to self-book this appointment */
|
|
13201
13358
|
clients_can_book?: InputMaybe<Scalars['Boolean']>;
|
|
13202
13359
|
contact_type_overrides?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;
|
|
13360
|
+
/** When true, the client will not be asked to add a reason when booking an appointment of this type */
|
|
13361
|
+
dont_ask_for_reason?: InputMaybe<Scalars['Boolean']>;
|
|
13203
13362
|
form_requests_after_appointment?: InputMaybe<Array<InputMaybe<AppointmentTypeFormConnectionInput>>>;
|
|
13204
13363
|
form_requests_after_appointment_booking?: InputMaybe<Array<InputMaybe<AppointmentTypeFormConnectionInput>>>;
|
|
13205
13364
|
/** When true, indicates that this appointment type is used for group appointments */
|
|
@@ -13784,6 +13943,44 @@ export type CreateDocumentPayload = {
|
|
|
13784
13943
|
document?: Maybe<Document>;
|
|
13785
13944
|
messages?: Maybe<Array<Maybe<FieldError>>>;
|
|
13786
13945
|
};
|
|
13946
|
+
/** Autogenerated input type of createDosespotClinician */
|
|
13947
|
+
export type CreateDosespotClinicianInput = {
|
|
13948
|
+
/** Required */
|
|
13949
|
+
business_address?: InputMaybe<Scalars['String']>;
|
|
13950
|
+
/** Required */
|
|
13951
|
+
city?: InputMaybe<Scalars['String']>;
|
|
13952
|
+
/** A unique identifier for the client performing the mutation. */
|
|
13953
|
+
clientMutationId?: InputMaybe<Scalars['String']>;
|
|
13954
|
+
/** Required */
|
|
13955
|
+
date_of_birth?: InputMaybe<Scalars['String']>;
|
|
13956
|
+
/** Required when role is prescribing provider and prescribe_controlled_substances checked */
|
|
13957
|
+
dea_number?: InputMaybe<Scalars['String']>;
|
|
13958
|
+
/** Required for prescribing provider */
|
|
13959
|
+
eligible_prescribe_medications?: InputMaybe<Scalars['Boolean']>;
|
|
13960
|
+
/** Required */
|
|
13961
|
+
fax_number?: InputMaybe<Scalars['String']>;
|
|
13962
|
+
/** Required */
|
|
13963
|
+
full_name?: InputMaybe<Scalars['String']>;
|
|
13964
|
+
/** Required for prescribing provider */
|
|
13965
|
+
npi_number?: InputMaybe<Scalars['String']>;
|
|
13966
|
+
prescribe_controlled_substances?: InputMaybe<Scalars['Boolean']>;
|
|
13967
|
+
/** Required. Dosespot user role (Prescribing Provider: 1, Proxy: 6) */
|
|
13968
|
+
role?: InputMaybe<Scalars['Int']>;
|
|
13969
|
+
/** Required */
|
|
13970
|
+
state?: InputMaybe<Scalars['String']>;
|
|
13971
|
+
/** Required */
|
|
13972
|
+
work_phone_number?: InputMaybe<Scalars['String']>;
|
|
13973
|
+
/** Required */
|
|
13974
|
+
zip?: InputMaybe<Scalars['String']>;
|
|
13975
|
+
};
|
|
13976
|
+
/** Autogenerated return type of createDosespotClinician */
|
|
13977
|
+
export type CreateDosespotClinicianPayload = {
|
|
13978
|
+
__typename?: 'createDosespotClinicianPayload';
|
|
13979
|
+
/** A unique identifier for the client performing the mutation. */
|
|
13980
|
+
clientMutationId?: Maybe<Scalars['String']>;
|
|
13981
|
+
dosespot_user?: Maybe<DoseSpot>;
|
|
13982
|
+
messages?: Maybe<Array<Maybe<FieldError>>>;
|
|
13983
|
+
};
|
|
13787
13984
|
/** Autogenerated input type of createDraft */
|
|
13788
13985
|
export type CreateDraftInput = {
|
|
13789
13986
|
/** A unique identifier for the client performing the mutation. */
|
|
@@ -16485,6 +16682,21 @@ export type RemoveDraftPayload = {
|
|
|
16485
16682
|
draft?: Maybe<Draft>;
|
|
16486
16683
|
messages?: Maybe<Array<Maybe<FieldError>>>;
|
|
16487
16684
|
};
|
|
16685
|
+
/** Autogenerated input type of removeUserFromGroupCarePlan */
|
|
16686
|
+
export type RemoveUserFromGroupCarePlanInput = {
|
|
16687
|
+
care_plan_id?: InputMaybe<Scalars['ID']>;
|
|
16688
|
+
/** A unique identifier for the client performing the mutation. */
|
|
16689
|
+
clientMutationId?: InputMaybe<Scalars['String']>;
|
|
16690
|
+
user_id?: InputMaybe<Scalars['ID']>;
|
|
16691
|
+
};
|
|
16692
|
+
/** Autogenerated return type of removeUserFromGroupCarePlan */
|
|
16693
|
+
export type RemoveUserFromGroupCarePlanPayload = {
|
|
16694
|
+
__typename?: 'removeUserFromGroupCarePlanPayload';
|
|
16695
|
+
/** A unique identifier for the client performing the mutation. */
|
|
16696
|
+
clientMutationId?: Maybe<Scalars['String']>;
|
|
16697
|
+
groupCarePlanUserConnection?: Maybe<GroupCarePlanUserConnection>;
|
|
16698
|
+
messages?: Maybe<Array<Maybe<FieldError>>>;
|
|
16699
|
+
};
|
|
16488
16700
|
/** Autogenerated input type of resendSentFax */
|
|
16489
16701
|
export type ResendSentFaxInput = {
|
|
16490
16702
|
/** A unique identifier for the client performing the mutation. */
|
|
@@ -16817,6 +17029,8 @@ export type UpdateAppointmentInput = {
|
|
|
16817
17029
|
client_updating?: InputMaybe<Scalars['Boolean']>;
|
|
16818
17030
|
confirmed?: InputMaybe<Scalars['Boolean']>;
|
|
16819
17031
|
contact_type?: InputMaybe<Scalars['String']>;
|
|
17032
|
+
/** Cpt code associated with this appointment */
|
|
17033
|
+
cpt_code_id?: InputMaybe<Scalars['ID']>;
|
|
16820
17034
|
date?: InputMaybe<Scalars['String']>;
|
|
16821
17035
|
/** Timestamp in YYYY-MM-DD HH:MM:SS or ISO8601 format, supercedes date, time params. */
|
|
16822
17036
|
datetime?: InputMaybe<Scalars['String']>;
|
|
@@ -16833,6 +17047,8 @@ export type UpdateAppointmentInput = {
|
|
|
16833
17047
|
notes?: InputMaybe<Scalars['String']>;
|
|
16834
17048
|
other_party_id?: InputMaybe<Scalars['String']>;
|
|
16835
17049
|
pm_status?: InputMaybe<Scalars['String']>;
|
|
17050
|
+
/** The price associated with this appointment */
|
|
17051
|
+
price?: InputMaybe<Scalars['String']>;
|
|
16836
17052
|
providers?: InputMaybe<Scalars['String']>;
|
|
16837
17053
|
recurring_appointment?: InputMaybe<RecurringAppointmentInput>;
|
|
16838
17054
|
repeat?: InputMaybe<Scalars['Boolean']>;
|
|
@@ -16842,6 +17058,8 @@ export type UpdateAppointmentInput = {
|
|
|
16842
17058
|
time?: InputMaybe<Scalars['String']>;
|
|
16843
17059
|
/** Timezone to use for date and time fields. Overrides the timezone of the current user */
|
|
16844
17060
|
timezone?: InputMaybe<Scalars['String']>;
|
|
17061
|
+
/** Units to use as a multiplier for appointment price */
|
|
17062
|
+
units?: InputMaybe<Scalars['String']>;
|
|
16845
17063
|
updateRecurring?: InputMaybe<Scalars['Boolean']>;
|
|
16846
17064
|
user_id?: InputMaybe<Scalars['String']>;
|
|
16847
17065
|
};
|
|
@@ -16884,6 +17102,7 @@ export type UpdateAppointmentSettingInput = {
|
|
|
16884
17102
|
default_group_charting_template_id?: InputMaybe<Scalars['ID']>;
|
|
16885
17103
|
default_to_zoom?: InputMaybe<Scalars['Boolean']>;
|
|
16886
17104
|
default_video_service?: InputMaybe<Scalars['String']>;
|
|
17105
|
+
disable_requested_form_notifications?: InputMaybe<Scalars['Boolean']>;
|
|
16887
17106
|
end_time?: InputMaybe<Scalars['String']>;
|
|
16888
17107
|
/** Deprecated */
|
|
16889
17108
|
give_notes_name?: InputMaybe<Scalars['Boolean']>;
|
|
@@ -16985,6 +17204,8 @@ export type UpdateAppointmentTypeInput = {
|
|
|
16985
17204
|
contact_type_override_video_chat?: InputMaybe<ContactTypeOverride>;
|
|
16986
17205
|
/** If the provider's organization has this feature, setting this will customize the content of SMS reminder's Healthie sends. */
|
|
16987
17206
|
custom_text_reminder_body?: InputMaybe<Scalars['String']>;
|
|
17207
|
+
/** When true, the client will not be asked to add a reason when booking an appointment of this type */
|
|
17208
|
+
dont_ask_for_reason?: InputMaybe<Scalars['Boolean']>;
|
|
16988
17209
|
embed_question_form_id?: InputMaybe<Scalars['String']>;
|
|
16989
17210
|
form_requests_after_appointment?: InputMaybe<Array<InputMaybe<AppointmentTypeFormConnectionInput>>>;
|
|
16990
17211
|
form_requests_after_appointment_booking?: InputMaybe<Array<InputMaybe<AppointmentTypeFormConnectionInput>>>;
|
|
@@ -19254,8 +19475,25 @@ export type GetScheduledAppointmentsQuery = {
|
|
|
19254
19475
|
date?: string | null;
|
|
19255
19476
|
} | null> | null;
|
|
19256
19477
|
};
|
|
19478
|
+
export type GetConversationMembershipsQueryVariables = Exact<{
|
|
19479
|
+
client_id?: InputMaybe<Scalars['String']>;
|
|
19480
|
+
}>;
|
|
19481
|
+
export type GetConversationMembershipsQuery = {
|
|
19482
|
+
__typename?: 'Query';
|
|
19483
|
+
conversationMemberships?: Array<{
|
|
19484
|
+
__typename?: 'ConversationMembership';
|
|
19485
|
+
convo?: {
|
|
19486
|
+
__typename?: 'Conversation';
|
|
19487
|
+
last_message_content?: string | null;
|
|
19488
|
+
updated_at?: string | null;
|
|
19489
|
+
dietitian_id?: string | null;
|
|
19490
|
+
patient_id?: string | null;
|
|
19491
|
+
} | null;
|
|
19492
|
+
} | null> | null;
|
|
19493
|
+
};
|
|
19257
19494
|
export declare const GetChartingItemsDocument: import("graphql").DocumentNode;
|
|
19258
19495
|
export declare const GetScheduledAppointmentsDocument: import("graphql").DocumentNode;
|
|
19496
|
+
export declare const GetConversationMembershipsDocument: import("graphql").DocumentNode;
|
|
19259
19497
|
export type SdkFunctionWrapper = <T>(action: (requestHeaders?: Record<string, string>) => Promise<T>, operationName: string, operationType?: string) => Promise<T>;
|
|
19260
19498
|
export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionWrapper): {
|
|
19261
19499
|
getChartingItems(variables?: GetChartingItemsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise<{
|
|
@@ -19270,5 +19508,11 @@ export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionW
|
|
|
19270
19508
|
headers: Dom.Headers;
|
|
19271
19509
|
status: number;
|
|
19272
19510
|
}>;
|
|
19511
|
+
getConversationMemberships(variables?: GetConversationMembershipsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise<{
|
|
19512
|
+
data: GetConversationMembershipsQuery;
|
|
19513
|
+
extensions?: any;
|
|
19514
|
+
headers: Dom.Headers;
|
|
19515
|
+
status: number;
|
|
19516
|
+
}>;
|
|
19273
19517
|
};
|
|
19274
19518
|
export type Sdk = ReturnType<typeof getSdk>;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getSdk = exports.GetScheduledAppointmentsDocument = exports.GetChartingItemsDocument = void 0;
|
|
6
|
+
exports.getSdk = exports.GetConversationMembershipsDocument = exports.GetScheduledAppointmentsDocument = exports.GetChartingItemsDocument = void 0;
|
|
7
7
|
const graphql_1 = require("graphql");
|
|
8
8
|
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
9
9
|
exports.GetChartingItemsDocument = (0, graphql_tag_1.default) `
|
|
@@ -37,9 +37,22 @@ exports.GetScheduledAppointmentsDocument = (0, graphql_tag_1.default) `
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
`;
|
|
40
|
+
exports.GetConversationMembershipsDocument = (0, graphql_tag_1.default) `
|
|
41
|
+
query getConversationMemberships($client_id: String) {
|
|
42
|
+
conversationMemberships(client_id: $client_id) {
|
|
43
|
+
convo {
|
|
44
|
+
last_message_content
|
|
45
|
+
updated_at
|
|
46
|
+
dietitian_id
|
|
47
|
+
patient_id
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
`;
|
|
40
52
|
const defaultWrapper = (action, _operationName, _operationType) => action();
|
|
41
53
|
const GetChartingItemsDocumentString = (0, graphql_1.print)(exports.GetChartingItemsDocument);
|
|
42
54
|
const GetScheduledAppointmentsDocumentString = (0, graphql_1.print)(exports.GetScheduledAppointmentsDocument);
|
|
55
|
+
const GetConversationMembershipsDocumentString = (0, graphql_1.print)(exports.GetConversationMembershipsDocument);
|
|
43
56
|
function getSdk(client, withWrapper = defaultWrapper) {
|
|
44
57
|
return {
|
|
45
58
|
getChartingItems(variables, requestHeaders) {
|
|
@@ -47,6 +60,9 @@ function getSdk(client, withWrapper = defaultWrapper) {
|
|
|
47
60
|
},
|
|
48
61
|
getScheduledAppointments(variables, requestHeaders) {
|
|
49
62
|
return withWrapper((wrappedRequestHeaders) => client.rawRequest(GetScheduledAppointmentsDocumentString, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getScheduledAppointments', 'query');
|
|
63
|
+
},
|
|
64
|
+
getConversationMemberships(variables, requestHeaders) {
|
|
65
|
+
return withWrapper((wrappedRequestHeaders) => client.rawRequest(GetConversationMembershipsDocumentString, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getConversationMemberships', 'query');
|
|
50
66
|
}
|
|
51
67
|
};
|
|
52
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wellinksSdk.js","sourceRoot":"","sources":["../../../../extensions/wellinks/gql/wellinksSdk.ts"],"names":[],"mappings":";;;;;;AAEA,qCAA+B;AAC/B,8DAA8B;
|
|
1
|
+
{"version":3,"file":"wellinksSdk.js","sourceRoot":"","sources":["../../../../extensions/wellinks/gql/wellinksSdk.ts"],"names":[],"mappings":";;;;;;AAEA,qCAA+B;AAC/B,8DAA8B;AAq0qBjB,QAAA,wBAAwB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;KAgBtC,CAAC;AACO,QAAA,gCAAgC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;KAa9C,CAAC;AACO,QAAA,kCAAkC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;KAWhD,CAAC;AAKN,MAAM,cAAc,GAAuB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;AAChG,MAAM,8BAA8B,GAAG,IAAA,eAAK,EAAC,gCAAwB,CAAC,CAAC;AACvE,MAAM,sCAAsC,GAAG,IAAA,eAAK,EAAC,wCAAgC,CAAC,CAAC;AACvF,MAAM,wCAAwC,GAAG,IAAA,eAAK,EAAC,0CAAkC,CAAC,CAAC;AAC3F,SAAgB,MAAM,CAAC,MAAqB,EAAE,cAAkC,cAAc;IAC5F,OAAO;QACL,gBAAgB,CAAC,SAA0C,EAAE,cAA2C;YACpG,OAAO,WAAW,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAwB,8BAA8B,EAAE,SAAS,EAAE,EAAC,GAAG,cAAc,EAAE,GAAG,qBAAqB,EAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACnN,CAAC;QACD,wBAAwB,CAAC,SAAkD,EAAE,cAA2C;YACpH,OAAO,WAAW,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAgC,sCAAsC,EAAE,SAAS,EAAE,EAAC,GAAG,cAAc,EAAE,GAAG,qBAAqB,EAAC,CAAC,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;QAC3O,CAAC;QACD,0BAA0B,CAAC,SAAoD,EAAE,cAA2C;YACxH,OAAO,WAAW,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAkC,wCAAwC,EAAE,SAAS,EAAE,EAAC,GAAG,cAAc,EAAE,GAAG,qBAAqB,EAAC,CAAC,EAAE,4BAA4B,EAAE,OAAO,CAAC,CAAC;QACjP,CAAC;KACF,CAAC;AACJ,CAAC;AAZD,wBAYC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export declare const CHARTING_ITEMS_QUERY = "\n query getChartingItems($user_id: String, $custom_module_form_id: ID){\n chartingItems(user_id: $user_id, custom_module_form_id: $custom_module_form_id){\n id\n created_at\n form_answer_group {\n id\n created_at\n form_answers {\n custom_module_id\n label\n answer\n }\n }\n }\n }";
|
|
2
2
|
export declare const SCHEDULED_APPOINTMENTS_QUERY = "\n query getScheduledAppointments($user_id: ID, $appointment_type_id: ID, $status: String) {\n appointments(user_id: $user_id, filter_by_appointment_type_id: $appointment_type_id, filter_by_appointment_status: $status, filter:\"future\") {\n id\n provider_name\n date\n }\n }";
|
|
3
|
+
export declare const CONVERSATION_MEMBERSHIPS_QUERY = "\n query getConversationMemberships ($client_id: String) {\n conversationMemberships(client_id: $client_id){\n convo {\n last_message_content\n updated_at\n dietitian_id\n patient_id\n }\n }\n }";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SCHEDULED_APPOINTMENTS_QUERY = exports.CHARTING_ITEMS_QUERY = void 0;
|
|
3
|
+
exports.CONVERSATION_MEMBERSHIPS_QUERY = exports.SCHEDULED_APPOINTMENTS_QUERY = exports.CHARTING_ITEMS_QUERY = void 0;
|
|
4
4
|
exports.CHARTING_ITEMS_QUERY = `
|
|
5
5
|
query getChartingItems($user_id: String, $custom_module_form_id: ID){
|
|
6
6
|
chartingItems(user_id: $user_id, custom_module_form_id: $custom_module_form_id){
|
|
@@ -25,4 +25,15 @@ exports.SCHEDULED_APPOINTMENTS_QUERY = `
|
|
|
25
25
|
date
|
|
26
26
|
}
|
|
27
27
|
}`;
|
|
28
|
+
exports.CONVERSATION_MEMBERSHIPS_QUERY = `
|
|
29
|
+
query getConversationMemberships ($client_id: String) {
|
|
30
|
+
conversationMemberships(client_id: $client_id){
|
|
31
|
+
convo {
|
|
32
|
+
last_message_content
|
|
33
|
+
updated_at
|
|
34
|
+
dietitian_id
|
|
35
|
+
patient_id
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}`;
|
|
28
39
|
//# sourceMappingURL=queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../extensions/wellinks/graphql/queries.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAgB;;;;;;;;;;;;;;;IAe7C,CAAA;AAES,QAAA,4BAA4B,GAAgB;;;;;;;IAOrD,CAAA"}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../extensions/wellinks/graphql/queries.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAgB;;;;;;;;;;;;;;;IAe7C,CAAA;AAES,QAAA,4BAA4B,GAAgB;;;;;;;IAOrD,CAAA;AAES,QAAA,8BAA8B,GAAgB;;;;;;;;;;IAUvD,CAAA"}
|