Meeting Title: Rimo x Brainforge | Weekly Sync Date: 2025-10-23 Meeting participants: Awaish Kumar, Surfield Thomas, Jr., Amber Lin, Nick G, Ryon, cameron
WEBVTT
1 00:00:52.730 ⇒ 00:00:54.020 Awaish Kumar: Hello, sir.
2 00:01:03.760 ⇒ 00:01:04.550 Surfield Thomas, Jr.: Okay.
3 00:01:05.069 ⇒ 00:01:06.139 Amber Lin: Hello?
4 00:01:11.080 ⇒ 00:01:12.580 Ryon: Hello, everyone!
5 00:01:14.270 ⇒ 00:01:14.900 Amber Lin: Fair.
6 00:01:16.220 ⇒ 00:01:22.359 Amber Lin: Oh, Ryan, I thought that was your hair from your… from your chair. I was like, wow.
7 00:01:22.360 ⇒ 00:01:24.490 Ryon: This is all my hair.
8 00:01:26.320 ⇒ 00:01:30.820 Ryon: I, I sit down in these things all day long, so I have one of these gaming chairs.
9 00:01:30.820 ⇒ 00:01:31.820 Amber Lin: Oh, cool.
10 00:01:31.820 ⇒ 00:01:33.220 Ryon: for better support?
11 00:01:33.440 ⇒ 00:01:38.259 Amber Lin: Yeah, that’s awesome. Do we know if Cameron’s coming?
12 00:01:38.410 ⇒ 00:01:43.590 Amber Lin: I still didn’t see his confirmation on the invite. I checked in earlier today.
13 00:01:44.520 ⇒ 00:01:50.039 Nick G: We spoke earlier, and he said at the time that he would be coming, but…
14 00:01:50.620 ⇒ 00:01:51.300 Nick G: You know.
15 00:01:53.330 ⇒ 00:01:54.120 Amber Lin: Let’s see.
16 00:01:55.200 ⇒ 00:01:56.860 Nick G: Ryan, you’d look good with long hair.
17 00:01:59.270 ⇒ 00:02:08.289 Ryon: I… you know what’s funny, guys? Back in my younger years, I used to have a lot of hair, but it was like a fro, if you can imagine that. I had, like, a full-on fro. What?
18 00:02:08.320 ⇒ 00:02:19.529 Ryon: Not even kidding. What? It was very weird. I found… a while ago, my wife Hannah and I found some old photos of us in high school, because we actually knew each other back then. She’s like, oh my god.
19 00:02:19.660 ⇒ 00:02:26.100 Ryon: We looked so weird. And I had that, you know, problem. It was crazy. It was… it was a strange time.
20 00:02:27.150 ⇒ 00:02:29.669 Ryon: Fashion was weird. That too.
21 00:02:33.350 ⇒ 00:02:33.990 Amber Lin: Okay.
22 00:02:33.990 ⇒ 00:02:34.360 Ryon: away.
23 00:02:34.710 ⇒ 00:02:38.010 Ryon: I have a question for you real quick while you’re on the call, if you…
24 00:02:38.010 ⇒ 00:02:39.500 Awaish Kumar: Yeah, so…
25 00:02:39.900 ⇒ 00:02:44.730 Ryon: Remind me the difference between order summary and order details, the tables?
26 00:02:45.880 ⇒ 00:02:54.819 Awaish Kumar: Oh, okay. So, order details is a table, like, we call it legacy table, because we inherited it
27 00:02:54.970 ⇒ 00:03:02.270 Awaish Kumar: from the Aiden team, when we came in, and it basically has all the,
28 00:03:03.090 ⇒ 00:03:06.509 Awaish Kumar: Fields, or, like, for an order.
29 00:03:06.760 ⇒ 00:03:09.989 Awaish Kumar: An order summary is kind of similar.
30 00:03:10.340 ⇒ 00:03:23.299 Awaish Kumar: order summary also has all the required fields for an order, like, all the related data, like, for example, shipment details, or the payment details, and the
31 00:03:23.640 ⇒ 00:03:27.310 Awaish Kumar: Product purchased, and things like that, revenue.
32 00:03:27.490 ⇒ 00:03:36.270 Awaish Kumar: But… The change we made in order summary is that it will kind of have multiple rows per order.
33 00:03:36.750 ⇒ 00:03:50.709 Ryon: It’s like a general ledger. Is that the best way to think of it? Is it a general ledger where you guys are updating data about each in particular order, because you’re using both order created and order updated to just basically add a new row for every single
34 00:03:51.240 ⇒ 00:03:51.790 Ryon: Eventually.
35 00:03:51.790 ⇒ 00:04:06.159 Awaish Kumar: Yeah, yes. So, like, we actually created some fact tables and dimension tables, like, we have an order, then we have some dimension regarding that, like, shipment details, product details, and
36 00:04:06.330 ⇒ 00:04:14.580 Awaish Kumar: like, different other, like, all the related fields, like UTMs and everything, or if somebody, like, combines them all in one.
37 00:04:15.100 ⇒ 00:04:18.610 Ryon: Right, so it’s a centralized repository of everything from everywhere.
38 00:04:18.610 ⇒ 00:04:19.040 Awaish Kumar: about that.
39 00:04:19.040 ⇒ 00:04:20.989 Ryon: Yeah, okay. Cool.
40 00:04:20.990 ⇒ 00:04:38.839 Awaish Kumar: But in order summary, the one thing to consider is that order summary will have… will not have unique, like, single row per order. It will have a single row per order and a delivery step. So, primary key of that table is order ID,
41 00:04:39.210 ⇒ 00:04:42.570 Awaish Kumar: kind of delivery step. For example, if order is in,
42 00:04:42.740 ⇒ 00:04:49.739 Awaish Kumar: Sent to pharmacy is in pending, or it is in the shipped status, or whatever the status is.
43 00:04:51.260 ⇒ 00:04:53.339 Ryon: So, hold on, you said primary key was what?
44 00:04:56.330 ⇒ 00:05:01.729 Awaish Kumar: Primary key is order ID, and the delivery step, like, delivery status.
45 00:05:02.120 ⇒ 00:05:11.940 Ryon: Delivery status, order ID and delivery status. Okay, thank you. So, should I assume that order details is not being updated anymore, that you guys just basically update to order summary only, or is order details.
46 00:05:11.940 ⇒ 00:05:15.850 Awaish Kumar: Yes, yes. We are only updating order somewhere.
47 00:05:16.120 ⇒ 00:05:19.279 Ryon: Okay, perfect, that’s exactly what I wanted to hear. Awesome, thank you.
48 00:05:19.620 ⇒ 00:05:20.150 Awaish Kumar: Yep.
49 00:05:20.150 ⇒ 00:05:25.649 Ryon: And cameron, sorry, he’s on. I’ll let everything get started.
50 00:05:26.500 ⇒ 00:05:31.160 cameron: Sorry, guys, the call run a little bit longer than I anticipated.
51 00:05:37.900 ⇒ 00:05:39.580 cameron: So, yeah,
52 00:05:40.010 ⇒ 00:05:46.769 cameron: I have no, only update I have is we’re preparing to convert our codebase to single-tenant.
53 00:05:47.880 ⇒ 00:05:52.989 cameron: to transfer by November 1st, so that’s pretty much what I have for my side.
54 00:05:55.240 ⇒ 00:05:56.730 Ryon: Single tenant members.
55 00:06:00.070 ⇒ 00:06:01.470 Ryon: I’m gonna give.
56 00:06:01.470 ⇒ 00:06:02.339 Surfield Thomas, Jr.: Quick update.
57 00:06:03.150 ⇒ 00:06:06.269 Surfield Thomas, Jr.: Kevin, you said there’s ready or not ready, the single tenant stuff.
58 00:06:06.910 ⇒ 00:06:09.289 cameron: We’re, we’re doing a refactor right now.
59 00:06:10.410 ⇒ 00:06:11.380 Surfield Thomas, Jr.: Okay, heard.
60 00:06:13.680 ⇒ 00:06:24.160 Amber Lin: When can we run a test on a hosted, non-local environment? We talked about it last time we did the demo, if we want to have a demo there.
61 00:06:24.380 ⇒ 00:06:31.809 cameron: you can run on the Remo, side of things. Remo side of things, we’re pushing, pushing it live today.
62 00:06:31.810 ⇒ 00:06:47.080 cameron: and Telex, I believe, actually, some of them did onboard, so, probably by, like, tomorrow night, you can… sorry. You can do, a test order on Remo’s instance. We can make a store for Brainforge, and they can run a quick test.
63 00:06:51.340 ⇒ 00:06:57.760 Amber Lin: Surface that? Is that something you would be able to do, or would you… anything else you would need?
64 00:06:57.760 ⇒ 00:07:00.949 cameron: I can give you a link to our actual, like, hosted app.
65 00:07:00.950 ⇒ 00:07:07.409 Surfield Thomas, Jr.: Yeah, if you, if you give us, if you give me a link to, like, the setup and stuff like that, yeah, I’d love to.
66 00:07:07.760 ⇒ 00:07:14.469 cameron: Yeah, you can run through the whole thing, you can even run through, like, the form builder, like, how the form stores data, et cetera, et cetera.
67 00:07:14.750 ⇒ 00:07:23.639 Surfield Thomas, Jr.: Cool, yeah, send me, I guess, the URL, and then send me what it takes to, like, sign up, log on, like, whatever the documentation or the steps are, and I’ll run through it.
68 00:07:24.550 ⇒ 00:07:30.709 Surfield Thomas, Jr.: Because if I can submit an order and stuff, and, like, see it actually, like, load into where it needs to load into, all that sort of stuff, that’d be great.
69 00:07:30.910 ⇒ 00:07:40.749 cameron: You can see everything, and you’ll also be able to… we just did a… we just built a live file HTML scraper, so you’ll be able to see the order hit live file as well through our software.
70 00:07:41.270 ⇒ 00:07:42.750 Surfield Thomas, Jr.: Very cool. Send me the docs.
71 00:07:43.140 ⇒ 00:07:54.119 cameron: Okay, I’ll send you a login to the platform. It’s pretty self-explanatory once you get in there. So I’ll send you the link to the intake form, and I’ll send you a link to the platform, and you can hop in there and see what’s going on.
72 00:07:54.660 ⇒ 00:07:55.270 Surfield Thomas, Jr.: Cool.
73 00:07:58.050 ⇒ 00:08:05.860 Ryon: I know I’ve asked this before, I just want to verify that in this single-tenant world, we will be able to submit a test order.
74 00:08:06.550 ⇒ 00:08:07.610 Ryon: from…
75 00:08:08.320 ⇒ 00:08:14.390 cameron: So that’s gonna be a live Eden instance, right? So that’s gonna, like, you know, it’s gonna be live Eden instance, you know what I’m saying?
76 00:08:16.300 ⇒ 00:08:16.960 Ryon: Okay.
77 00:08:18.150 ⇒ 00:08:19.140 cameron: So, yeah.
78 00:08:22.880 ⇒ 00:08:29.199 Ryon: I will give some quick updates for myself real quick, so everyone understands where we are.
79 00:08:30.120 ⇒ 00:08:43.440 Ryon: I’m gonna target next week. I know I said this, Sophia DeWish, on demoing what we’re building here, so we can see the product mapping. I appreciate you guys’ patience with me on that. You know, things being what they are, I’ve been a little delayed, but…
80 00:08:43.870 ⇒ 00:09:00.930 Ryon: Here’s at a high level. Basically, I’m in the process of trying to onboard some new dev resources. At this point, with 2 senior devs, which is what I have budget for, I’m estimating 4 sprints for us to be complete at about 500 or so working hours. This is based on our current pace.
81 00:09:00.930 ⇒ 00:09:18.029 Ryon: Being able to complete tickets. That puts us somewhere out here in about Sprint 5, which the beginning slash middle of December is the ELT’s deadline for me on this. I still need to go over this with them, and then, of course, obviously, all of this is contingent on things not arising, like bugs or other dysfunctional things.
82 00:09:18.270 ⇒ 00:09:40.080 Ryon: At a high level, we’re deploying the CSS just fine. Nick can speak to that a little bit. There’s a lot of good stuff which is happening here. I see that the account login screen just went live. We’ve got a lot of new interstitials which have gone live. We’ve got a new BMI calculator that went live, and I don’t love this, so I’m having to talk to the team about fixing it. But a lot of good stuff is going live here in the intake for GLP-1s.
83 00:09:40.080 ⇒ 00:09:47.720 Ryon: The good news with this is that, for a lot of these screens, as you guys probably guessed, but I just want to make sure everyone’s on the same page.
84 00:09:47.720 ⇒ 00:10:01.390 Ryon: When we develop them for one intake, because of the way the system’s been creating them, we develop them for all intakes. So this is NAD, the logic for this has already been built out, and you’ll notice that the NAD intake has the exact same style, because we’re doing it for one, we’re doing it for all.
85 00:10:01.590 ⇒ 00:10:07.310 Ryon: At this point, then, what that means is I have shifted the designer’s focus over to…
86 00:10:07.690 ⇒ 00:10:22.049 Ryon: emphasizing new intakes and interstitials. So, they’re working on NAD and, Samorlin right now, as you can see, so they’re building that out. The logic, Nick, can you remind me… is he on the call? Nick, are you on the call still?
87 00:10:22.050 ⇒ 00:10:23.220 Nick G: I’m on the call, yeah.
88 00:10:23.220 ⇒ 00:10:32.670 Ryon: Can you, remind me what the status was of when we, left the, Simorlin intake? Did we build that? Did you upload it? I know I sent you the JSON for that, that kind of.
89 00:10:32.670 ⇒ 00:10:43.079 Nick G: No, we were sort of in the early stages of building that when it, when priorities changed to redesigning the SAMA, so that’s not actually in this.
90 00:10:44.090 ⇒ 00:10:54.190 Ryon: Okay, so I think the logic, though, is there, so I have that file, which is going to help us to just simply be able to build it out, and then, as you can see, across the board, minor, minor changes.
91 00:10:54.490 ⇒ 00:11:10.369 Ryon: from intake to intake, like the orange color for Samorlin, or some of the text here, and then, of course, some of the screens, which are basically just going to be exactly the same, like the product and plan selection screen. Interstitials will be a little different, but most of this stuff is roughly the same. There’s no major differences here, so…
92 00:11:10.380 ⇒ 00:11:25.679 Ryon: What that translates to, as I’ve estimated, is that, like I said, mid-December. Maybe a little longer. It’s taking me a lot longer than I would have liked to onboard additional resources, but, we should have that solved pretty quickly. So, that’s me. A little longer than 5 minutes update. My bad.
93 00:11:27.170 ⇒ 00:11:37.450 Awaish Kumar: I have few, few clarification questions. Like, it’s for everybody, like… So, what I’m getting it from here is that, like, we will have
94 00:11:37.570 ⇒ 00:11:49.379 Awaish Kumar: intake ready by mid-December, and then we can basically send whatever you are going to receive in that intake to the Remo platform, and the Remo platform is able to receive it through some API.
95 00:11:49.560 ⇒ 00:11:50.079 Awaish Kumar: Can I…
96 00:11:50.080 ⇒ 00:11:56.040 cameron: I’ll show you what Remo Platform is. Hold on, give me one second, let me share my screen. I’ll explain to you how the intakes work, okay?
97 00:11:56.480 ⇒ 00:12:06.679 cameron: Because we put a little bit of time into doing this. Now, beware, my… this app, I’m currently running some changes with cursor, so it may bug out right now. But let me show you here, hold on.
98 00:12:07.370 ⇒ 00:12:08.800 cameron: Okay, cool.
99 00:12:08.800 ⇒ 00:12:12.000 Ryon: Real quick, I just want to emphasize, this is how…
100 00:12:12.280 ⇒ 00:12:17.900 Ryon: Cameron’s Remo EMR intakes are working. This is not what we are building. That’s different. But anyways.
101 00:12:17.900 ⇒ 00:12:18.660 cameron: No, you guys have…
102 00:12:18.660 ⇒ 00:12:19.060 Awaish Kumar: Like…
103 00:12:19.500 ⇒ 00:12:22.709 cameron: You guys have to proxy it into here, otherwise I won’t be able to accept it.
104 00:12:23.150 ⇒ 00:12:34.859 cameron: So, I’ll explain to you how it works on a high level right now, right? Let me just go ahead and run a seed script right now, so I can go ahead and just get a fresh instance here. Give me one second.
105 00:12:35.520 ⇒ 00:12:55.199 cameron: But yeah, in a high level, whatever intakes they’re building, they’re gonna have to send it to the EMR, and the EMR has a bunch of different API endpoints that we’re planning on. Right now, they’re exposed, like, on the intakes that are built into the EMR, but they’re not exposed publicly, so we plan on just adding a REST API wrapper on top of that.
106 00:12:55.940 ⇒ 00:13:04.669 cameron: To go ahead and be able to do the intake. So, let me go ahead and just… I’m currently seeing the database, you can see it’s erroring out. Give me one second, it’s almost done. There we go.
107 00:13:06.720 ⇒ 00:13:07.750 cameron: Page.
108 00:13:15.670 ⇒ 00:13:17.020 cameron: Except for it to log in.
109 00:13:20.070 ⇒ 00:13:27.379 cameron: Okay, cool. So, if you notice here, I’m gonna just surface something you may want to pay attention to… oh, I’ll hit a refresh, because it’s not existing yet.
110 00:13:28.090 ⇒ 00:13:33.640 cameron: I’m gonna show you what it looks like to create an intake, and this is what, like, it will still exist on the single…
111 00:13:33.640 ⇒ 00:13:34.160 Surfield Thomas, Jr.: Remote.
112 00:13:34.720 ⇒ 00:13:42.210 cameron: just the idea of stores won’t. So, obviously, we have different pharmacies in our system over here, right?
113 00:13:42.660 ⇒ 00:14:00.030 cameron: basically, like, in order to actually set a pharmacy live, you have to connect it to, like, a life file, right? So this one’s, like, a life file. The funny part is, I actually can’t even, like… if I put in the wrong information, it won’t even connect. I have to… it genuinely has to be real information, so let me put in some real information here to demo what Emerald looks like.
114 00:14:00.370 ⇒ 00:14:03.009 cameron: When the orders get sent over, hold on.
115 00:14:03.410 ⇒ 00:14:05.489 cameron: Let me pull up for you a lot of locations.
116 00:14:14.060 ⇒ 00:14:32.830 cameron: So, just so you understand, every pharmacy has, like, different life file credentials. So, like, this is one of the pharmacies that Rebecca just onboarded, it’s called Emerald Pharmacy. So, Ryan, we are going to be using them. There’s also… Eden has their own pharmacy, right? So, every single pharmacy has their own, like, API information, but let me just connect Emerald here, which is one of the ones we’re going to be using.
117 00:14:33.020 ⇒ 00:14:34.440 cameron: And show you…
118 00:14:34.600 ⇒ 00:14:48.800 cameron: how it looks like. So, obviously, this is something that we only have to do once, but if Eden wants to onboard more pharmacies that use, like, LifeFile, or they use Pharmetica, or they use, like, an integration that we have built out, they can do it without necessarily having to wait for us.
119 00:14:49.820 ⇒ 00:14:53.250 cameron: I’m missing one thing here.
120 00:14:54.170 ⇒ 00:15:05.989 cameron: No, it’s not working. I’ll do this later. Anyways, as I was saying, so when Eden goes to the store, right, they’re able to basically add the certain offerings they want to offer, so once… they can have multiple provider networks in here as well.
121 00:15:05.990 ⇒ 00:15:22.079 cameron: And they can add the different offerings that they want to offer, right? So semaglutide orals, plus injectables, whatever, and it recognizes what pharmacies use it or not, right? So when we’re building out the intakes, I’m going to hop into, like, every time… if Eden wants to build an intake, and they want to link it up to this software.
122 00:15:22.100 ⇒ 00:15:26.859 cameron: They have to basically add a sales channel, and the sales channel’s gonna be.
123 00:15:26.860 ⇒ 00:15:29.040 Awaish Kumar: Yeah, man, we are just seeing the Slack.
124 00:15:29.330 ⇒ 00:15:30.699 cameron: Oh my god, dude.
125 00:15:30.960 ⇒ 00:15:32.970 cameron: I’ve been sharing my screen the whole time.
126 00:15:34.060 ⇒ 00:15:34.990 cameron: No one knows.
127 00:15:34.990 ⇒ 00:15:38.569 Ryon: All your messages, Cameron, I was taking screenshots the whole time. No, I’m just kidding.
128 00:15:38.570 ⇒ 00:15:42.650 cameron: That’s fine, but like, bro, I’ll share my screen the whole time. Oh, that’s annoying.
129 00:15:46.880 ⇒ 00:15:47.520 Ryon: There you go.
130 00:15:48.130 ⇒ 00:15:49.840 cameron: Okay, now you can see my screen, right?
131 00:15:50.050 ⇒ 00:15:54.499 cameron: Yep. I wish someone saw me earlier, that’s annoying.
132 00:15:55.400 ⇒ 00:16:11.520 cameron: Hold on. Okay, so you guys can see my screen, right? So when Eden adds the intakes over here, right, the first thing they have to do is they have to add a new sales channel, which is an API sales channel, which will allow them to access our interface via API only, right? What we built internally
133 00:16:11.520 ⇒ 00:16:19.230 cameron: and this is something we’re exposing, is our intake forms. So we build out different intake forms in code, and you can add them to your database.
134 00:16:19.230 ⇒ 00:16:30.649 cameron: And once you open up the form editor, right, this is where you can see all the different stuff about the form. You can see the health… this is all the questions that need to be answered, right? So, the way that it works, I’ll just show you the way
135 00:16:31.370 ⇒ 00:16:35.629 cameron: That the way the, responses are stored in the second.
136 00:16:35.740 ⇒ 00:16:58.969 cameron: But basically, each one of these questions is a question that’s required in order to complete the doctor consult. All these screens here are required in order to create the consult, so you can see all these different screens. Now, there’s some capability, I don’t know if they want to use it or not, this is cool or not. It’s like a builder, so you can start adjusting what things look like over here. I’m not sure how important this is, but it works, so you’re able to, like, change a little bit of stuff.
137 00:17:00.930 ⇒ 00:17:09.779 Awaish Kumar: I just want to understand, like, will… when you deliver this on November 1st, will the API endpoints will be available for.
138 00:17:09.780 ⇒ 00:17:11.550 cameron: Yes, they… it’s the same…
139 00:17:12.869 ⇒ 00:17:19.699 cameron: Yes, so they have to create an intake like this, and when they connect to it, they have to basically proxy the data
140 00:17:19.999 ⇒ 00:17:22.479 cameron: They have to proxy the data.
141 00:17:22.479 ⇒ 00:17:43.939 cameron: through an API. So when they complete an intake, it looks like they complete one of these intakes over here, it’s just that this would only be available to an API sales channel instead of, like, the general thing. That’s the way it would work here. And I’ll show you the way that the data’s structured right now, so you guys can get a look at how you would do the data. I think this is what matters the most to you.
142 00:17:44.910 ⇒ 00:17:48.849 Awaish Kumar: Do we have any documentation of those API endpoints?
143 00:17:49.130 ⇒ 00:18:02.410 cameron: We don’t have any APAN points right now, let me be fully transparent. It’s all through TRPC, which is… I’m sure Surf reads with the codebase, he understands… sorry. I’m sure Surf understands, like, it’s all, like, it’s hard for us to expose TRPC, we have to make it a REST API.
144 00:18:06.140 ⇒ 00:18:11.950 cameron: Right? So here’s what the intake forms look like on the client side, which is the… I did not set this store live.
145 00:18:18.900 ⇒ 00:18:27.070 cameron: So you’d make a sales channel, right, for API only, which means that the API can access the system, right?
146 00:18:27.310 ⇒ 00:18:29.109 cameron: Now let me go ahead…
147 00:18:29.710 ⇒ 00:18:36.119 cameron: This is what the intake responses look like, and sir, if I can go ahead and share this with you as well. Oh, this intake doesn’t exist.
148 00:18:36.260 ⇒ 00:18:37.620 cameron: Make sure that…
149 00:18:40.610 ⇒ 00:19:03.890 cameron: So, this way, when Eden wants to create the intakes here, the ones that are coming through their API, they would just assign it to their API sales channel, so our software can attribute what’s coming from where, right? So, as you start to complete the form, you’ll notice on the right side of my screen, right, you see all this different stuff that’s being done, how it’s updating the response and stuff. They would need to do this from their system. Does that make sense?
150 00:19:03.890 ⇒ 00:19:05.250 Awaish Kumar: No, no, so…
151 00:19:06.380 ⇒ 00:19:10.479 cameron: So see how every time I update the info on this screen alone?
152 00:19:12.950 ⇒ 00:19:32.360 Awaish Kumar: So, I have a few more questions on… so, when you, like, we… when intake form is filled, there’s a complete order journey, that when I start… an order comes in, it’s in some appendix table, then it goes to provider, they approve it, then it goes to, pharmacies, and different, like.
153 00:19:32.360 ⇒ 00:19:32.900 cameron: Exactly.
154 00:19:32.900 ⇒ 00:19:41.800 Awaish Kumar: So, my question is more like, will that… will I be able to capture it using, like, webhooks?
155 00:19:41.800 ⇒ 00:19:42.450 cameron: Yes.
156 00:19:42.450 ⇒ 00:19:48.919 Awaish Kumar: You know, in my warehouse, and will I be able to test it before you hand it over to Aiden?
157 00:19:49.100 ⇒ 00:20:13.360 cameron: Yes, we have some webhooks we can add for you, so there’s webhooks on all the different models, but the most important thing I’m talking about, right, so there’s two things, right, that we have to do when building these intake forms. One, our intake forms, we store the client session data, which means all the browser information. We have a fingerprinting tool to make a unique ID for the system, right? So Eden’s intakes need to implement all of the same tools
158 00:20:13.360 ⇒ 00:20:22.120 cameron: that we have over here, because this is where the attribution comes from and stuff, right? So the main thing we’re missing in BASC is, like, sessions. We have sessions set up with these intake forms.
159 00:20:22.120 ⇒ 00:20:41.950 cameron: So someone can be using the same response, see how the response has consultation ID, customer ID, disqualified, lead ID, patient ID, response token, and the responses are all stored as a JSON. So when Brainforge wants to, like, start parsing the data, it all comes as a JSON instead of coming, like, you know, title, question, it’s all typed.
160 00:20:45.040 ⇒ 00:20:46.300 cameron: Does that make sense?
161 00:20:46.300 ⇒ 00:20:49.830 Ryon: This is all documented somewhere, Cameron, that you can share with the team?
162 00:20:50.120 ⇒ 00:21:05.289 cameron: This is still in preview, it’s not… it’s not ready yet. I’m just explaining to you what’s being done. It’s going to be done for the next update of the code that we’re going to be sharing with Surfield. But this is… this is a preview of what we’re building out. If you guys have any suggestions, please let me know. Also, for example, screen metrics, right?
163 00:21:05.290 ⇒ 00:21:12.750 cameron: we collect, on this intake, pre-built in, we collected the metrics for the screen of how long each person was spending on it, so…
164 00:21:13.980 ⇒ 00:21:28.210 Awaish Kumar: Yeah, I’m not just talking about in-text, like, apart from in-text, like, when an order is actually placed, intake form is filled out. After that, there are changes to the order, some updates, like, the, like, Remo platform will be sending all those events
165 00:21:28.290 ⇒ 00:21:38.629 Awaish Kumar: through some webhooks, like, I… if I provide some URL, it will send it to that. Like, if it is a segment or whatever, it is able to send it to
166 00:21:39.190 ⇒ 00:21:44.019 Awaish Kumar: There, so I can capture it in my warehouse. Isn’t that great?
167 00:21:44.110 ⇒ 00:21:46.109 cameron: We have webhooks, let me show you the webhooks.
168 00:21:55.820 ⇒ 00:22:01.199 cameron: See, we have different weblooks here. So, see, customer.created, right? Customer updated.
169 00:22:01.580 ⇒ 00:22:03.010 cameron: order created.
170 00:22:03.210 ⇒ 00:22:04.630 cameron: Order updated.
171 00:22:04.810 ⇒ 00:22:17.169 cameron: Treatment created, treatment updated. We have different webhooks that they’re all typed out, and it’s gonna automatically generate, well, we’re not done this part yet. We’re generating an automatic, like, a Git book with the schema of the webhooks.
172 00:22:17.170 ⇒ 00:22:22.919 Awaish Kumar: Okay, so we might, like, do we have also have, like, prescription-created… prescription.
173 00:22:22.920 ⇒ 00:22:27.410 cameron: There’s no such thing as a prescription. Prescriptions treatment.
174 00:22:28.900 ⇒ 00:22:31.530 Awaish Kumar: Okay, so treatment… like…
175 00:22:33.450 ⇒ 00:22:38.640 cameron: The treatment has… the treatment has a nested object, but the doses inside of it.
176 00:22:39.140 ⇒ 00:22:43.540 cameron: So I think, Surf… Surf, did you ever end up going through our schema and seeing what everything looks like?
177 00:22:46.920 ⇒ 00:22:49.980 Surfield Thomas, Jr.: I did that multiple times, because remember, it was changing.
178 00:22:50.360 ⇒ 00:22:58.680 cameron: Yeah, so CERF is pretty much aware that, like, we don’t… there’s no model called prescription, it’s a treatment dose, so it’s an approved dose for the treatment.
179 00:23:04.250 ⇒ 00:23:06.320 Awaish Kumar: Okay, yeah, but, like,
180 00:23:07.300 ⇒ 00:23:13.830 Awaish Kumar: Okay, I’m just comparing it with Basque. Basque creates prescription first, then it goes to treat, like, endopen.
181 00:23:14.080 ⇒ 00:23:19.410 Awaish Kumar: Then it converts into a treatment, and then we… then into an order.
182 00:23:19.920 ⇒ 00:23:24.559 cameron: Yeah, so we only have treatment and order, and order would be your equivalent for prescription.
183 00:23:27.440 ⇒ 00:23:36.500 cameron: And an order can have multiple treatments on it. If someone orders two orders, if someone orders NAD and semaglutide at the same time.
184 00:23:36.940 ⇒ 00:23:39.939 cameron: The order may have two treatments on top of it.
185 00:23:40.440 ⇒ 00:23:41.820 cameron: So it’s a little bit different.
186 00:23:42.120 ⇒ 00:23:50.390 cameron: You guys have all the schemas and stuff, you guys can see what the stuff is. So, if you look at the schemas, it’s a little bit different.
187 00:23:51.070 ⇒ 00:23:53.010 Awaish Kumar: Great. And,
188 00:23:53.350 ⇒ 00:24:05.890 Awaish Kumar: also, like, apart from this, like, the data… I would love to… I don’t know if you already have some API endpoints, but, like, for example, someone from Eden is,
189 00:24:05.900 ⇒ 00:24:17.889 Awaish Kumar: updating the products, product information, pharmace information, and the COGS information. I would love to have that into the warehouse as well, through some API endpoints or webhooks, whatever the solution is.
190 00:24:17.890 ⇒ 00:24:27.299 cameron: Yeah. Once we do the source code… once we do the source code handover, we can add those events pretty quickly, just for medication created, medication updated. It’s not a big deal.
191 00:24:28.150 ⇒ 00:24:28.710 Awaish Kumar: P.
192 00:24:29.640 ⇒ 00:24:37.649 cameron: Because we add the events here, and then whenever something updates it in the database, it will send these webhooks to you guys, to wherever you want.
193 00:24:38.960 ⇒ 00:24:39.560 Awaish Kumar: Okay.
194 00:24:40.990 ⇒ 00:24:50.309 Awaish Kumar: Okay, we’ll… and all that be… we will be able to test when you, send the credentials to SOF. Will we be able to test Webhooks as well?
195 00:24:50.650 ⇒ 00:24:53.850 cameron: Yes, but only for these customer order treatment.
196 00:24:54.510 ⇒ 00:24:55.130 Awaish Kumar: Okay.
197 00:24:55.740 ⇒ 00:24:56.910 cameron: an intake form.
198 00:24:59.570 ⇒ 00:25:06.590 Awaish Kumar: Because those are the only webhooks that we need. I mean, if we need to add more for Eden’s side, we can, but those are the only ones that we built out so far.
199 00:25:16.700 ⇒ 00:25:18.790 Awaish Kumar: Okay, yeah, that’s it from my side.
200 00:25:25.830 ⇒ 00:25:28.530 Awaish Kumar: So, do you have any more questions?
201 00:25:30.140 ⇒ 00:25:31.040 Ryon: I’m good.
202 00:25:34.980 ⇒ 00:25:39.570 Surfield Thomas, Jr.: Again, Cameron, you’re gonna send me over those documents so that I can get set up?
203 00:25:40.120 ⇒ 00:25:41.490 Surfield Thomas, Jr.: Or send me over those links?
204 00:25:43.550 ⇒ 00:25:47.760 cameron: Yes, it’s gonna… we’re still pushing some stuff up, so it’s gonna take, like, a day, I’m letting you know right now.
205 00:25:48.190 ⇒ 00:25:49.259 Surfield Thomas, Jr.: Alright, cool, sweet.
206 00:25:49.870 ⇒ 00:25:53.950 Surfield Thomas, Jr.: And then you can just send me the information via Slack, so send me, like, the links.
207 00:25:54.090 ⇒ 00:25:54.750 Surfield Thomas, Jr.: Yeah.
208 00:25:54.750 ⇒ 00:25:58.969 cameron: You might be able to log into preview.remo.co, which is our preview environment.
209 00:25:59.610 ⇒ 00:26:00.549 Surfield Thomas, Jr.: Cool, that’s fine.
210 00:26:02.510 ⇒ 00:26:03.290 Surfield Thomas, Jr.: Awesome.
211 00:26:07.570 ⇒ 00:26:20.109 Nick G: Cameron, can we talk… do you have time after this just to talk about, Optio stuff? I know we’ve got a meeting at quarter to 6, but if we want to just knock it out earlier rather than later…
212 00:26:21.220 ⇒ 00:26:24.690 cameron: I kinda have a couple stuff I gotta do, so… Okay.
213 00:26:24.690 ⇒ 00:26:27.569 Nick G: Oh, good, let’s do quarter to six, then.
214 00:26:29.340 ⇒ 00:26:30.490 cameron: Okay, sounds good.
215 00:26:34.530 ⇒ 00:26:35.700 Amber Lin: Cool, thanks very much.
216 00:26:35.700 ⇒ 00:26:39.030 cameron: Anything else Brainforge is needing from Remo’s side?
217 00:26:40.740 ⇒ 00:26:45.419 Amber Lin: If there’s anything, I’ll put it in the Slack.
218 00:26:46.240 ⇒ 00:26:48.110 cameron: Okay, so you guys are all good, right? That’s not good.
219 00:26:48.610 ⇒ 00:26:59.029 cameron: Okay, cool. So, what’s your plan? So, I’m assuming, like, are you guys gonna replace, like, Remo’s webhooks with direct segment integrations, or, like, with a segment.js SDK? What’s your plan here?
220 00:27:04.030 ⇒ 00:27:06.530 Awaish Kumar: Oh, like, right now, we…
221 00:27:07.290 ⇒ 00:27:14.320 Awaish Kumar: Yeah, we will be utilizing what’s there, and, like, and also, sir, like, we will wait for
222 00:27:14.500 ⇒ 00:27:21.520 Awaish Kumar: like, self-assessment and recommendation. What is the best way to handle that.
223 00:27:23.250 ⇒ 00:27:40.550 cameron: Yeah, I mean, I’ll just tell you right now, all of Remo’s code, it’s all in interfaces, so if you wanted to swap out just webhooks with a direct segment SDK call, you’d get more context by doing that. So, if you have any direction on that, it’s not included in Remo’s contract, but I can definitely task, like, Eden’s developers to do it.
224 00:27:47.650 ⇒ 00:27:53.200 cameron: I mean, I’ll just show you right now, this is the most important part to me, to at least surf. Like, for example, the intake forms.
225 00:27:54.150 ⇒ 00:27:57.190 cameron: You see how we’re storing all this, like, UTM stuff over here?
226 00:28:06.740 ⇒ 00:28:07.860 Surfield Thomas, Jr.: Yeah, I can see what you’re showing.
227 00:28:08.460 ⇒ 00:28:24.459 cameron: Yeah, so in order for you all to trace back, like, UTM and stuff like that, like, is that something you’re doing in your BigQuery? Because we’re storing all the UTM and, like, device information here, and you can… your teleform… your response links to a treatment.
228 00:28:24.460 ⇒ 00:28:35.370 cameron: Right? So see how it links to a treatment? So using Remo’s data that’s in the software, you can… you can go from a treatment back to what actually, like, resulted in the treatment being created.
229 00:28:35.450 ⇒ 00:28:36.580 cameron: So…
230 00:28:37.110 ⇒ 00:28:52.789 cameron: this means, obviously, I know Ryan has his own project and stuff like that, but, like, if you guys want to take advantage of this, like, system that’s built in the EMR, or in the Remo portal, where everything’s kind of attributed properly, so when you want to, like, do your attribution and stuff, you can obviously do it using BigQuery and stuff.
231 00:28:52.790 ⇒ 00:28:58.720 cameron: But if it’s already in the code here, couldn’t you just use this information to do, like, your multi-touch attribution and things like that?
232 00:29:04.580 ⇒ 00:29:07.329 Surfield Thomas, Jr.: I think that’s helpful, because,
233 00:29:08.700 ⇒ 00:29:20.229 Surfield Thomas, Jr.: I wish that’s gonna be on the Robert side of the integration, about, like, how we push that off to, like, BigQuery and stuff like that. But I think having it here is fine, or, if we do it direct from…
234 00:29:20.370 ⇒ 00:29:23.839 Surfield Thomas, Jr.: To eat inside, we can handle that.
235 00:29:24.690 ⇒ 00:29:38.250 cameron: Okay, yeah, I just wanna, like, just to let you know, for example, like, right now we’re just doing webhooks, but if you want to swap… the beauty of this is once that Eden gets the source code, is they can make minor adjustments as long as it doesn’t screw up the whole system, you know what I mean? So…
236 00:29:40.110 ⇒ 00:29:41.130 Surfield Thomas, Jr.: Yeah, agreed.
237 00:29:41.920 ⇒ 00:29:43.600 cameron: Alright, cool. Alright, thanks, guys.
238 00:29:47.660 ⇒ 00:29:48.880 Amber Lin: Alright, thanks.