1
00:00:00,000 --> 00:00:24,000
Good morning.

2
00:00:24,000 --> 00:00:27,000
Morning.

3
00:00:27,000 --> 00:00:29,000
Morning Nick.

4
00:00:29,000 --> 00:00:31,000
Morning. Morning.

5
00:00:31,000 --> 00:00:33,000
Morning.

6
00:00:33,000 --> 00:00:35,000
Right.

7
00:00:35,000 --> 00:00:46,000
Just give everybody five minutes to join and then then we'll kick it off. Got a full plate for today so should be a good day.

8
00:00:46,000 --> 00:00:49,000
You got a lot to explore today.

9
00:00:49,000 --> 00:01:06,000
Let's bring you right back.

10
00:01:06,000 --> 00:01:10,000
So, I looked at like the testing times.

11
00:01:10,000 --> 00:01:23,000
Oh, thanks. And I mean, there's not, you know, all those records, there's only about 3000 records that have like, dates that could be valid, but there's no guarantee that they're valid.

12
00:01:23,000 --> 00:01:34,000
And it may or may not be something that, sorry, sorry to interrupt you Charles.

13
00:01:34,000 --> 00:01:42,000
So Charles was just talking about turnaround time so you're saying there are not many observations with good timestamps or.

14
00:01:42,000 --> 00:01:44,000
Yeah.

15
00:01:44,000 --> 00:01:49,000
There's some that are like 125 years in the past.

16
00:01:49,000 --> 00:01:54,000
And some that are like 125 years in the future.

17
00:01:54,000 --> 00:02:03,000
And there's some that have like, that look like they could be valid. I have that Jupiter notebook, if I, you know, I could share it with you and you can look at it.

18
00:02:03,000 --> 00:02:05,000
Well, welcome Danny.

19
00:02:05,000 --> 00:02:11,000
We're just letting people join several kick it off in about five minutes or so.

20
00:02:11,000 --> 00:02:13,000
And you guys, I'm Alex.

21
00:02:13,000 --> 00:02:15,000
Good to meet you.

22
00:02:15,000 --> 00:02:22,000
Charles you wouldn't mind just dropping the Jupiter notebook in the chat if

23
00:02:22,000 --> 00:02:26,000
it's you know it's on my other machine.

24
00:02:26,000 --> 00:02:30,000
Hey guys, how are you. Nice to meet you all.

25
00:02:30,000 --> 00:02:33,000
Nice to meet you.

26
00:02:33,000 --> 00:02:35,000
David.

27
00:02:35,000 --> 00:02:42,000
Hello, David.

28
00:02:42,000 --> 00:02:46,000
So I don't turn on my camera because I just had surgery in my nose.

29
00:02:46,000 --> 00:02:54,000
It's not the end of the world. My picture looks better I guess. I mean, I don't care but just a case.

30
00:02:54,000 --> 00:03:05,000
And then, you know, for what it's worth you know we're just going to do a little recording just of the presentation, and just to make the presentation available to people afterwards.

31
00:03:05,000 --> 00:03:17,000
And so, I'll share the link. Our good friend Stephanie Powell over at Fortune Creative is helping us actually assemble those videos.

32
00:03:17,000 --> 00:03:39,000
So, I'll just go ahead and just start sharing some of the handouts for today. So, two just interesting, you know, places to get data so as I go about my adventures, I'll just share interesting things with you.

33
00:03:39,000 --> 00:03:49,000
So, over at OpenTHC, there's a strain database API.

34
00:03:49,000 --> 00:03:59,000
If you need to look at strain names.

35
00:03:59,000 --> 00:04:06,000
There's just the spec to the OpenTHC API.

36
00:04:06,000 --> 00:04:20,000
Let me go ahead and show you a few things here.

37
00:04:20,000 --> 00:04:34,000
Sorry, that was the...

38
00:04:34,000 --> 00:04:42,000
All right, so something you can check out

39
00:04:42,000 --> 00:04:48,000
is data.openthc.com

40
00:04:48,000 --> 00:05:04,000
And what you can check, our friend David Busby over at OpenTHC has put together some of the data that we've been looking at.

41
00:05:04,000 --> 00:05:10,000
So, this is the LCB data.

42
00:05:10,000 --> 00:05:23,000
And we've just been looking at the month of December here, but David's gone ahead and compiled everything from 2019.

43
00:05:23,000 --> 00:05:32,000
And he's working to make that available. So, as soon as it is available, I'll share that with everybody.

44
00:05:32,000 --> 00:05:41,000
But there's a few interesting things that you can look at. There's business to consumer sales.

45
00:05:41,000 --> 00:05:49,000
So, you can actually see that this is going to take a second to load.

46
00:05:49,000 --> 00:05:56,000
But you can see month to month sales.

47
00:05:56,000 --> 00:06:06,000
And you can drill down into that. Well, like I said, it's still sort of being hammered out.

48
00:06:06,000 --> 00:06:14,000
I think it's just an interesting tool that David's put together that, you know, it's just a good place here.

49
00:06:14,000 --> 00:06:27,000
I'll put the link in the chat here so everyone can check that out.

50
00:06:27,000 --> 00:06:47,000
And if you just want to get some ideas of, you know, what can you do with this data, you know, this can give you some ideas.

51
00:06:47,000 --> 00:06:53,000
Just wanted to spend a couple minutes and show you that resource.

52
00:06:53,000 --> 00:07:05,000
The main thing I wanted to bring you here today, well, the later half will get to talking about APIs

53
00:07:05,000 --> 00:07:11,000
because David's interested in integrating with the state traceability system.

54
00:07:11,000 --> 00:07:17,000
And then I'll show you some of the work I've been doing just with charting data.

55
00:07:17,000 --> 00:07:29,000
But before we really get too far ahead, I guess let's just spend, I guess, five minutes just since this group's not all about me.

56
00:07:29,000 --> 00:07:32,000
But I guess can we just do a round of introductions, I guess?

57
00:07:32,000 --> 00:07:42,000
I guess if you don't mind, I guess, Danny and Nick and I guess everybody else, would you mind just spending just 30 seconds just to introduce yourself?

58
00:07:42,000 --> 00:07:47,000
So, yeah, I guess, Danny, I guess go ahead and kick it off, please.

59
00:07:47,000 --> 00:07:48,000
That's okay.

60
00:07:48,000 --> 00:07:57,000
So, my name is Danny Hurtado. I'll put my LinkedIn here to connect. I'm always open to connect, collaborate.

61
00:07:57,000 --> 00:08:03,000
I own a marketing agency, a staffing agency, a software development company.

62
00:08:03,000 --> 00:08:11,000
And this is pretty much, and partner up with other businesses.

63
00:08:11,000 --> 00:08:25,000
I'm the CEO for the companies. We are in Colombia, Venezuela, Chile, Peru, Panama, Costa Rica, Mexico, USA, and hopefully opening Spain.

64
00:08:25,000 --> 00:08:35,000
We also register in Nigeria and venturing out to Uganda. I have developers all over the world.

65
00:08:35,000 --> 00:08:45,000
Bangladesh, too, is in there. I apologize, in India. I have developers all over the world, people working all over the world.

66
00:08:45,000 --> 00:08:52,000
And that's pretty much it. I mean, why this meetup and why the cannabis?

67
00:08:52,000 --> 00:09:16,000
You know, we have a platform that's basically an ERP or MRP, if you guys, to software people. And I wanted to see how we could put this service to the cannabis industry and the data and all that stuff, being like a platform that is decentralized, because I own the platform.

68
00:09:16,000 --> 00:09:30,000
We developed a platform decentralized for the cannabis industry people, because I know it's been tough, you know, and I'm from South America, Colombia, and I've always been like, oh, yeah, marked as, you know, drug dealer and all that stuff, which is not.

69
00:09:30,000 --> 00:09:38,000
I'm just a business person. So that platform, I want to see how I could, you know, put it into the industry.

70
00:09:38,000 --> 00:09:56,000
We're also working with blockchain technology and decentralized stuff. So, like I know before Shopify, they know that stuff. They didn't want to do cannabis companies and a lot of things with the cannabis, a lot of beef to the cannabis people, which I think is not right.

71
00:09:56,000 --> 00:10:09,000
And I know cannabis back back from the day on the other good side of things, if you say. And so I just want to do that, the platform to be able to customize it and help the cannabis industry.

72
00:10:09,000 --> 00:10:30,000
And on the other side, the marketing side, we have clients, you know, high end clients like General Motors, Petsys and so forth. So what can we do for the cannabis industry as far as helping the cannabis, you know, entrepreneurs or companies have that edge on marketing.

73
00:10:30,000 --> 00:10:40,000
I love it, Danny. And I think you may want to reach out to I'll share his contact afterwards with you and everybody feel free to share your LinkedIn.

74
00:10:40,000 --> 00:10:51,000
But David Busby works with people in Colombia and exactly I think you're in the perfect place because exactly we want to work with people all around the world.

75
00:10:51,000 --> 00:11:06,000
And yeah, it really helped the cannabis industry take off. So I think you're well positioned and we all have a lot to learn from you because.

76
00:11:06,000 --> 00:11:19,000
You know, so I work in the cannabis industry here in Washington State in the United States. And, you know, we have a lot to learn from other countries. So, you know, definitely feel free to share.

77
00:11:19,000 --> 00:11:24,000
I'm based in Florida. If anyone's coming to Florida, you got a new friend here.

78
00:11:24,000 --> 00:11:33,000
Definitely, Danny. So feel free to share. And then I guess let's go ahead and just keep moving on. So I guess, Nick, just 30 seconds if you don't mind sharing.

79
00:11:33,000 --> 00:11:54,000
Yeah, I am currently an accountant for the number one edible company in the United States. We produce gummies and chocolates and I am just I'm switching my careers to data analytics and I thought this would be a great meetup to like figure out where you guys get data and stuff like that.

80
00:11:54,000 --> 00:12:00,000
And so, yeah, that's why I'm here. Just kind of learn and observe.

81
00:12:00,000 --> 00:12:07,000
Awesome, Nick. We're happy to have you. We'll share some previous links and we're always sharing links to cannabis data.

82
00:12:07,000 --> 00:12:12,000
And then Charles, I guess, would you correct 30 seconds.

83
00:12:12,000 --> 00:12:22,000
Hi, I'm Charles and I have 27 years of software development experience. I've worked with Windows, iOS, Mac OS.

84
00:12:22,000 --> 00:12:35,000
And now I'm trying to transition into like the machine learning data analytics, data science field. So, and this is seems like a good group. This is sort of a data set that hasn't been well explored.

85
00:12:35,000 --> 00:12:39,000
So it's a great opportunity.

86
00:12:39,000 --> 00:12:40,000
Awesome.

87
00:12:40,000 --> 00:12:43,000
And then Alex.

88
00:12:43,000 --> 00:12:55,000
Sure. Hey, Alex, I have been a professional software developer for about five years at this point, and I have a lot of experience developing API's and maintaining them.

89
00:12:55,000 --> 00:13:07,000
And I'm super interested in the cannabis industry is kind of like, I do a lot of side projects and businesses after work. And this is definitely one of the areas I would like to learn more about.

90
00:13:07,000 --> 00:13:20,000
So most are just kind of here to like observe and hopefully meet people. Awesome. Awesome Alex. Well, honestly, we probably have a lot to learn from you because we're diving into API's.

91
00:13:20,000 --> 00:13:31,000
So as you know, a lot of the cannabis industry will essentially every state relies on a traceability system and people who direct through that went through an API.

92
00:13:31,000 --> 00:13:46,000
So, so API's are at the heart of traceability. Plus, companies are learning that different people at different stages of the supply chain can interact with each other through API's.

93
00:13:46,000 --> 00:13:50,000
So there's a lot of opportunities.

94
00:13:50,000 --> 00:13:53,000
And so we'll be talking about that.

95
00:13:53,000 --> 00:13:58,000
And then, yeah, I'm definitely a terminalologist. Awesome.

96
00:13:58,000 --> 00:14:09,000
So we're thrilled to have you out. So, David, this leads well into you. So would you give us a 30 second intro, please?

97
00:14:09,000 --> 00:14:17,000
David, we may not be able to hear you.

98
00:14:17,000 --> 00:14:30,000
Okay. Yes. Awesome. Okay. That's better. Hold on. Let me change from my headset.

99
00:14:30,000 --> 00:14:39,000
Microphones to

100
00:14:39,000 --> 00:14:47,000
Is that better? Yes, we can hear you. Okay, great. Great. Great hearing everybody.

101
00:14:47,000 --> 00:14:59,000
Kind of similar to Danny, except we sell a ERP MRP platform that doesn't have a good option for API integration with the state of Washington.

102
00:14:59,000 --> 00:15:10,000
And we're looking to develop one for it. So we're a reseller. I'm a CPA who's a techie nerd and geek all combined together.

103
00:15:10,000 --> 00:15:20,000
And as a CPA, I understand the accounting side of things. But as a programmer developer, I've kind of got the geek side of things as well.

104
00:15:20,000 --> 00:15:42,000
And we sell an accounting cloud accounting software called Acumatica that is one of the newer cloud based ERP MRP systems and would be perfect for cannabis if it had a built in integration to the API to get the state IDs for all of the different vendors, customers,

105
00:15:42,000 --> 00:15:53,000
batches in production, things of that nature. So we're looking to learn more about the API in terms of building our own customization.

106
00:15:53,000 --> 00:16:06,000
One of the nice things with Acumatica is it's customizable in.NET. So if you're a C sharp developer, Acumatica lets you actually code your development in C sharp right within the application.

107
00:16:06,000 --> 00:16:15,000
And you can even extend it out and publish it into Visual Studio to publish a DLL from it.

108
00:16:15,000 --> 00:16:29,000
So we find it's actually a more rapid development of Visual Studio because we can develop right within the application. We can view their source code right within the application as we make all the references and calls to it.

109
00:16:29,000 --> 00:16:38,000
So, like I said, been in this biz in the accounting ERP product biz for 20 some years.

110
00:16:38,000 --> 00:16:45,000
I've got an engineering background and accounting background and a computer science background.

111
00:16:45,000 --> 00:16:52,000
A little bit of everything Renaissance man and I play guitar when we used to have open mics.

112
00:16:52,000 --> 00:17:00,000
Awesome. So it looks like we've got a wide array of people here from the data geeks to the people.

113
00:17:00,000 --> 00:17:06,000
Well, I guess maybe that's all of us to the people wanting to play with the API.

114
00:17:06,000 --> 00:17:22,000
So just to just to share just real quick, just what I've been working on here in the past week. So, as you know, you can make public records requests. So that way you can get a nice data dump.

115
00:17:22,000 --> 00:17:36,000
So the people who were with us and the people who recently knew this is what we've been looking at. So, you know, this is the state of Washington for December of 2020.

116
00:17:36,000 --> 00:17:55,000
So they're generating about 30 gigabytes a month of traceability data. And this is rich for analysis. There's probably a lot to be discovered.

117
00:17:55,000 --> 00:18:09,000
So, you know, so the rule number one about data analysis, you know, look at the data. So I discovered this interesting library, Boca.

118
00:18:09,000 --> 00:18:16,000
So this is a Python based library and you can make these nice visualizations here.

119
00:18:16,000 --> 00:18:31,000
So an interesting dimension of data is the geographic area. Right. So, you know, knowing where things happened is pretty important.

120
00:18:31,000 --> 00:18:48,000
So we're going to try to make a so this is called a chloropleth. So we're going to try to make a chloropleth for Washington data.

121
00:18:48,000 --> 00:19:07,000
OK. So we're just going to kick it off here in Spider and I'm just getting some of these working in the background.

122
00:19:07,000 --> 00:19:21,000
All right. So the external packages I'm using here, just going to be using pandas as always.

123
00:19:21,000 --> 00:19:38,000
And then you'll need to install Boca if you're using Python or it actually comes packaged with Anaconda because I believe Boca is produced by Anaconda.

124
00:19:38,000 --> 00:19:58,000
And so I'm going to just read in some sample data here. If you are following along, you will need to to download the sample data set.

125
00:19:58,000 --> 00:20:10,000
So you'd import Boca and download your data. And so this is just some sample data that comes with Boca.

126
00:20:10,000 --> 00:20:34,000
But it's nice because, you know, we can get, you know, we can get all the counties in Washington.

127
00:20:34,000 --> 00:20:46,000
Well, I'll need to import the sample data.

128
00:20:46,000 --> 00:21:10,000
All right. And so now you have a nice list of all the counties in Washington. So the place I thought we could start off is we can essentially read in the licensees that we were working with last week.

129
00:21:10,000 --> 00:21:34,000
And if any of you are curious about where you can find that data.

130
00:21:34,000 --> 00:21:40,000
We've got another joinee. Well, welcome, Jake.

131
00:21:40,000 --> 00:21:45,000
And so that's good to have you, Jake.

132
00:21:45,000 --> 00:22:02,000
And so there's I've created just a GitHub here for the cannabis data science meetup group that you can just find all the source files and, you know, I'll just keep track of, you know, everything as we start accumulating material.

133
00:22:02,000 --> 00:22:10,000
So one thing I, you know, we did in this past week is, you know, we.

134
00:22:10,000 --> 00:22:16,000
Well, the first week is we basically just, you know, created.

135
00:22:16,000 --> 00:22:35,000
You know, an Excel spreadsheet of all the active licensees. And so so that's essentially just the file I'm working with here.

136
00:22:35,000 --> 00:22:54,000
So just to give you an example of that data. And so we've got our licensees now.

137
00:22:54,000 --> 00:23:06,000
Okay. And so the next step is you actually need to get the counties that these are in.

138
00:23:06,000 --> 00:23:27,000
So I'll share this in the GitHub repository afterwards, but essentially you can use Google Maps to geo code the locations.

139
00:23:27,000 --> 00:23:41,000
So I'll share this with you afterwards, but essentially I'm just using the street, the city, the state and the zip code to geo code these.

140
00:23:41,000 --> 00:23:59,000
And so they're actually it's running over here. And we'll just work with.

141
00:23:59,000 --> 00:24:12,000
Well, I probably should have kept that running. I realized.

142
00:24:12,000 --> 00:24:21,000
We may have to do an actual count later on, but.

143
00:24:21,000 --> 00:24:29,000
I'll go ahead and show you what what Boko looks like nonetheless.

144
00:24:29,000 --> 00:24:46,000
So we can just do this with just with random values here.

145
00:24:46,000 --> 00:25:04,000
So essentially I just copied the.

146
00:25:04,000 --> 00:25:16,000
I just copied this code here. And created a Boko chloropleth.

147
00:25:16,000 --> 00:25:32,000
And so essentially I'm just taking the state as an argument so I can get the correct counties and then just a list of values for the given counties.

148
00:25:32,000 --> 00:25:36,000
So nothing.

149
00:25:36,000 --> 00:25:48,000
That glamorous, but we're just, you know, just doing it, you know, a quick little mock up just to kind of show you what what you could possibly do.

150
00:25:48,000 --> 00:26:15,000
So let's just see if we can. May have to kind of fiddle with the shape because I just put in random. I just put in.

151
00:26:15,000 --> 00:26:26,000
So I think.

152
00:26:26,000 --> 00:26:51,000
So it's not liking. Hold on one second. I'm going to debug this.

153
00:26:51,000 --> 00:27:07,000
Well, we'll just do it this way.

154
00:27:07,000 --> 00:27:16,000
Alright, just bear with me for a second.

155
00:27:16,000 --> 00:27:32,000
Grab the color palette.

156
00:27:32,000 --> 00:27:43,000
Get the imports.

157
00:27:43,000 --> 00:28:04,000
We'll just get some random values here.

158
00:28:04,000 --> 00:28:19,000
OK. So this will spit out in HTML file.

159
00:28:19,000 --> 00:28:36,000
And so not glamorous needs a lot of touch up needs a lot of work. So apologize that it was in a book more refined product here, but you know this is just a quick mock up just to show viability.

160
00:28:36,000 --> 00:28:50,000
So you're going to have to work on the actual shape of this and, you know, actually put in the values that you actually want to to map.

161
00:28:50,000 --> 00:29:00,000
So here I basically just created random values between zero and 100.

162
00:29:00,000 --> 00:29:18,000
But but it's a proof of concept, so you can, you know, you could embed that you know you could theoretically embed this, you know, in your own website, you know, so you could have a series of Bokeh charts that are.

163
00:29:18,000 --> 00:29:23,000
Moderately interactive in that you can hover over them and get a tool tip.

164
00:29:23,000 --> 00:29:40,000
So so so that was just a tool that I was exploring, but I'll quit boring you to death with that and then we can maybe move back into into API.

165
00:29:40,000 --> 00:29:48,000
But what are your thoughts or does Bokeh look like a tool that any of you would use?

166
00:29:48,000 --> 00:29:56,000
Yeah, it looks interesting. I shared a link. There's a Kaggle class on using geospatial pandas.

167
00:29:56,000 --> 00:30:10,000
Excellent. You can do a sort of a similar kind of thing, but it's a free class and it'll take you through step by step how to build maps and you know how to deal with geospatial data.

168
00:30:10,000 --> 00:30:20,000
Exactly. And so there's a lot of opportunities there, and so it's as far as a data analysis perspective.

169
00:30:20,000 --> 00:30:30,000
It's really, you know. If you did a study, but your spatial data that could be well respected. So, for example.

170
00:30:30,000 --> 00:30:41,000
You could you can even use, you know, essentially distance in regression models and.

171
00:30:41,000 --> 00:30:49,000
There's a lot of opportunities there, so you can calculate distance between places.

172
00:30:49,000 --> 00:30:56,000
You know, to try to find out nearest neighbors. There's a lot you can do there.

173
00:30:56,000 --> 00:31:02,000
So, so that's.

174
00:31:02,000 --> 00:31:09,000
You know, that's kind of what I was working on was trying to plot various things.

175
00:31:09,000 --> 00:31:27,000
But I guess let's jump and just I guess change gears now and look a bit more at API's.

176
00:31:27,000 --> 00:31:41,000
Okay.

177
00:31:41,000 --> 00:31:57,000
So I guess let's just pick up, I guess, where we were last week with just essentially writing calls to the to the state traceability system.

178
00:31:57,000 --> 00:32:16,000
So we can find that in our resources from last time.

179
00:32:16,000 --> 00:32:20,000
And there is.

180
00:32:20,000 --> 00:32:29,000
Yeah. Okay. So essentially, we're just sort of going through here and you're seeing. Okay.

181
00:32:29,000 --> 00:32:34,000
How do we actually go about making calls to the API?

182
00:32:34,000 --> 00:32:46,000
So the first step we did discover that at least for the Washington state API, you do in fact have to create the users through the user interface.

183
00:32:46,000 --> 00:33:00,000
So that's, you know, that's going to be a communication hurdle, you know, for for you to develop your software, because essentially you may have to communicate to the.

184
00:33:00,000 --> 00:33:13,000
To your clients, the the users that they may need to create.

185
00:33:13,000 --> 00:33:29,000
But let's go ahead and just pick up where we were last time.

186
00:33:29,000 --> 00:33:33,000
Okay, so.

187
00:33:33,000 --> 00:33:36,000
We've got our base endpoint.

188
00:33:36,000 --> 00:33:47,000
We were passing, we're passing our API key in the header.

189
00:33:47,000 --> 00:33:52,000
And.

190
00:33:52,000 --> 00:33:59,000
I was reading in the documentation.

191
00:33:59,000 --> 00:34:13,000
So where was it?

192
00:34:13,000 --> 00:34:29,000
That. Okay, so I don't think it's a hundred percent necessary, but you may also have to pass a header that is your email password.

193
00:34:29,000 --> 00:34:41,000
So it says that in the documentation, but for some reason, I don't think it's actually necessary to make a valid API call.

194
00:34:41,000 --> 00:34:49,000
So I would I would test it without it first.

195
00:34:49,000 --> 00:34:52,000
And so.

196
00:34:52,000 --> 00:34:57,000
All you can do at the moment is.

197
00:34:57,000 --> 00:35:06,000
So you can get the MMEs, which you'll need to get your MME code.

198
00:35:06,000 --> 00:35:14,000
And then we're just going to start walking through this. So we'll to create an area.

199
00:35:14,000 --> 00:35:18,000
You pass it a list of areas.

200
00:35:18,000 --> 00:35:24,000
Okay, simple enough.

201
00:35:24,000 --> 00:35:36,000
And then you'll need to populate your cultivator with strains and inventory types.

202
00:35:36,000 --> 00:35:43,000
So this is.

203
00:35:43,000 --> 00:36:02,000
You know, this is where there's, you know, a lot of, you know, I guess, you know, naming convention confusion between when do you use strain name and when do you use inventory name?

204
00:36:02,000 --> 00:36:12,000
See.

205
00:36:12,000 --> 00:36:24,000
And so this is where there's maybe not a lot of consensus in the industry, but let's just go ahead and make.

206
00:36:24,000 --> 00:36:27,000
Make an example post.

207
00:36:27,000 --> 00:36:32,000
So it looks like the only required.

208
00:36:32,000 --> 00:36:53,000
Looks like the only required field to create a strain name is simply the actual name.

209
00:36:53,000 --> 00:37:12,000
We can maybe make this more interesting. So let's say you have a handful of strains.

210
00:37:12,000 --> 00:37:39,000
All right.

211
00:37:39,000 --> 00:37:43,000
So.

212
00:37:43,000 --> 00:38:03,000
We can go ahead and make a bunch of posts.

213
00:38:03,000 --> 00:38:12,000
So if we had like a record that if we were pulling a list of strains from a table and acumatica, we could just do a record set loop through the record set.

214
00:38:12,000 --> 00:38:32,000
Yeah. Okay. Cool. Yeah. And so, you know.

215
00:38:32,000 --> 00:38:43,000
So then you can just make a bunch of strains and then, you know, go ahead and then, you know, post that up to your strains.

216
00:39:02,000 --> 00:39:12,000
So that's what you know, that's what your data would look like, you know, to create, you know, a handful of strains.

217
00:39:12,000 --> 00:39:25,000
So not that exciting yet. So let's jump up to inventories and see what the situation is there.

218
00:39:25,000 --> 00:39:38,000
Because essentially we'll just walk through the whole traceability process and see if there's any curve balls.

219
00:39:38,000 --> 00:39:48,000
So you'll need to create an inventory type here. It looks like.

220
00:39:48,000 --> 00:40:04,000
Okay. And so this is.

221
00:40:04,000 --> 00:40:09,000
This is where.

222
00:40:09,000 --> 00:40:14,000
Things get interesting.

223
00:40:14,000 --> 00:40:21,000
Because so let's go ahead and figure out like what's what's going on here.

224
00:40:21,000 --> 00:40:28,000
So first, it looks like there are sort of general types.

225
00:40:28,000 --> 00:40:34,000
So this is just going to be like a broad spectrum.

226
00:40:34,000 --> 00:40:41,000
Just sort of to categorize things sort of to know, you know, what area things are going to be in.

227
00:40:41,000 --> 00:40:48,000
So these.

228
00:40:48,000 --> 00:40:53,000
These are broad types.

229
00:40:53,000 --> 00:41:00,000
And in fact.

230
00:41:00,000 --> 00:41:04,000
Let me open this twice.

231
00:41:04,000 --> 00:41:13,000
Because I kind of want to keep it the link to that to that manual in the chat box too. Yes, I think.

232
00:41:13,000 --> 00:41:21,000
It should be in the chat box. Is it? Okay. Let me look.

233
00:41:21,000 --> 00:41:34,000
At this.

234
00:41:34,000 --> 00:41:46,000
But I'm going to mark actually, I forgot to do it. But after this call, I'm going to mark up this diagram because I've got a lot of comments that I would like to add on this in the white space here.

235
00:41:46,000 --> 00:42:02,000
So it's not clear here what licensee is doing what right? Because so right here, you know, you've got cultivators clearly who are making the strain types and inventories.

236
00:42:02,000 --> 00:42:07,000
Actually, oh, never mind. This is the production workflow.

237
00:42:07,000 --> 00:42:10,000
So that's.

238
00:42:10,000 --> 00:42:16,000
Still still notice the.

239
00:42:16,000 --> 00:42:20,000
So.

240
00:42:20,000 --> 00:42:38,000
The type essentially designates. Okay. What you know, what stage in the process is it?

241
00:42:38,000 --> 00:42:44,000
So the immature plants is when it's still getting propagated.

242
00:42:44,000 --> 00:42:46,000
Then you get the mature plants.

243
00:42:46,000 --> 00:42:52,000
When, you know, it's moved into the flower room.

244
00:42:52,000 --> 00:42:56,000
Then you get harvest material.

245
00:42:56,000 --> 00:43:09,000
And so this is once you've actually made a harvest on the mature plant. So you've, you know, you've moved it out of your flower room. You've destroyed the plant.

246
00:43:09,000 --> 00:43:19,000
And then you've created the harvest material.

247
00:43:19,000 --> 00:43:31,000
Right. And so then of the harvest material, you essentially have intermediate products which need to get lab tested.

248
00:43:31,000 --> 00:43:45,000
You have waste, which needs to be disposed of. And this disposing it, it typically means mixing it 50 50 with another substance.

249
00:43:45,000 --> 00:44:01,000
So, for example, I have heard of cultivators using dirt. So they'll mix their waste 50 50 50 percent cannabis waste with 50 percent soil or dirt and then dispose of that.

250
00:44:01,000 --> 00:44:13,000
And so I just kind of throwing it out there. If any of you run into cannabis cultivators who need a waste solution,

251
00:44:13,000 --> 00:44:25,000
there's better carbon solutions, which this is a you know, this is a friend of mine.

252
00:44:25,000 --> 00:44:29,000
Rocky Holland.

253
00:44:29,000 --> 00:44:46,000
You know, he is basically trying to tackle the problem of, OK, what, you know, how can we, you know, deal with cannabis waste in, you know, an environmentally friendly way?

254
00:44:46,000 --> 00:44:59,000
Right. Because if you're just mixing it with 50 percent dirt and going and putting it in the landfill, well, that's, you know, a lot of organic material that's just going straight to a landfill.

255
00:44:59,000 --> 00:45:08,000
So, you know, his his idea is there may be, you know, something you could actually do with that waste.

256
00:45:08,000 --> 00:45:18,000
So. So I don't know. I think it's a it's a good story. And I'd like to see where he goes with that.

257
00:45:18,000 --> 00:45:28,000
And so one of the things that I'm trying to help with is just calculate the amount of waste waste weight that's generated.

258
00:45:28,000 --> 00:45:38,000
And so I am still digging into it, but I believe that data should be in inventory adjustments.

259
00:45:38,000 --> 00:45:47,000
So if any of you are feeling ambitious, then essentially just trying to calculate the amount of waste.

260
00:45:47,000 --> 00:45:56,000
But it's actually in batches. Oh, you've discovered it. Yeah, batches. Oh, awesome, Charles.

261
00:45:56,000 --> 00:46:02,000
Do you know what the data looks like by chance? I guess it's probably described here in the.

262
00:46:02,000 --> 00:46:10,000
Yeah, look in the manual for it. Yeah. So, well, I won't get us off track, but that's that's an awesome lead. Thank you, Charles.

263
00:46:10,000 --> 00:46:16,000
Yeah. Yeah. From a manufacturing standpoint, a batch essentially batch processing, right?

264
00:46:16,000 --> 00:46:27,000
So you're moving you're transferring things from one status to another. Right. And what they want to know is that those steps as it's being transferred,

265
00:46:27,000 --> 00:46:39,000
how much of it is becoming, you know, wet harvest, how much of it is becoming waste in order to fully trace that right in any accounting system.

266
00:46:39,000 --> 00:46:49,000
So you've got to have some type of think of it like a transaction, but it's a batch transaction that is saying a certain lot has been created.

267
00:46:49,000 --> 00:46:58,000
And as a result of that, there's some waste or side products, essentially, with the waste. So that makes sense.

268
00:46:58,000 --> 00:47:09,000
Awesome. And that's exactly so, you know, like I said, I'm not really here to preach to the choir because it's so I'm actually here to learn from you as much as as much as anything.

269
00:47:09,000 --> 00:47:14,000
So so that's cool. Charles found that. That's awesome.

270
00:47:14,000 --> 00:47:28,000
Yes. So because, you know, that's that's an important piece to their business model is knowing, OK, well, how much waste is actually generated and where where is it generated?

271
00:47:28,000 --> 00:47:34,000
So make sure this stuff isn't, you know, that everything's traced right.

272
00:47:34,000 --> 00:47:48,000
It's a very controlling state. They want to know every every jot and tittle, as it were. So it's something people may not think much about waste.

273
00:47:48,000 --> 00:47:57,000
But, you know, it's an important part of the whole ecosystem. So, Brian, it would make it would make good fertilizer.

274
00:47:57,000 --> 00:48:05,000
I mean, any kind of organic material, right, as it breaks down, becomes good fertilizer. Exactly. I'll take it off his hands.

275
00:48:05,000 --> 00:48:18,000
We have a garden in the back. Well, essentially. Well, I think he's pretty open about his business plan, but essentially that's the idea is so you take the waste, you make biochar.

276
00:48:18,000 --> 00:48:31,000
And so you can use it for I think you can make, you know, so essentially you can use the char for fertilizer. But but let's just keep.

277
00:48:31,000 --> 00:48:37,000
Keep go. Sorry. Keep turning along. That's interesting. It's just.

278
00:48:37,000 --> 00:48:55,000
It's just interesting there. So here we're going to break it down a bit, a bit more. So this, I think this is where the field that I really use to differentiate between the different types of products.

279
00:48:55,000 --> 00:49:14,000
So you have, you know, which you call your, you know, your intermediate type.

280
00:49:14,000 --> 00:49:30,000
And we'll figure out maybe how to classify this a bit more refined.

281
00:49:30,000 --> 00:49:59,000
Let me just part. Let me just parse this out for once.

282
00:49:59,000 --> 00:50:21,000
Just sort of just cleaning this data up real quick. One second.

283
00:50:21,000 --> 00:50:35,000
So here we're just sort of building an array or a list of all the product.

284
00:50:35,000 --> 00:50:56,000
So not pretty, but just sort of getting a crude list here. Okay. So, you know, so this is essentially how I would break everything down by, you know, different types.

285
00:50:56,000 --> 00:51:09,000
But, you know, you're, you know, you're welcome to sort of refine this a bit, a bit more because so.

286
00:51:09,000 --> 00:51:14,000
So everything here is sort of a finished.

287
00:51:14,000 --> 00:51:30,000
It will is a product that's going to end up on the shelves and, you know, we'll need lab testing, you know, things down here are more of supply chain.

288
00:51:30,000 --> 00:51:44,000
Categories. So, for example, if you, you know, hard, you know, if you harvest any seeds out of your crops, you know, if you make any clones, you make any plant tissue.

289
00:51:44,000 --> 00:52:11,000
So, you know, there's almost, you know, types that you're going to be creating more for you, your cultivation workflow. So, so we'll need to take that into consideration.

290
00:52:11,000 --> 00:52:17,000
Research about the non mandatory plant sample. I'm not a hundred percent certain.

291
00:52:17,000 --> 00:52:23,000
And then.

292
00:52:23,000 --> 00:52:27,000
And I think once again.

293
00:52:27,000 --> 00:52:39,000
When you actually harvest the cannabis, you're essentially going to be denoting it as.

294
00:52:39,000 --> 00:53:00,000
So I actually may need to read up on these fields, so I actually don't actually know too much about those fields.

295
00:53:00,000 --> 00:53:12,000
So this could be a good direction to head in to towards next time is, okay, how do we actually go about creating these types?

296
00:53:12,000 --> 00:53:19,000
So let's let's look at what a type post request would look like.

297
00:53:19,000 --> 00:53:25,000
Because you we've got to create the data. So.

298
00:53:25,000 --> 00:53:30,000
If we're creating a type, we'll give it an external ID.

299
00:53:30,000 --> 00:53:38,000
And so that will be an ID that you can generate for it so you can keep track of it in your system.

300
00:53:38,000 --> 00:53:47,000
The name, which will be the name that the licensee would like to refer to it as.

301
00:53:47,000 --> 00:53:51,000
The type, which is just the broad category.

302
00:53:51,000 --> 00:53:57,000
And then the intermediate type, so that depends on what you're actually going to do with it.

303
00:53:57,000 --> 00:54:03,000
And then the weight. And I believe it can either be each or grams.

304
00:54:03,000 --> 00:54:11,000
So let's see. So the system doesn't enforce the each or grams.

305
00:54:11,000 --> 00:54:21,000
Like there'll be dried flour and they'll have it'll be an each, you know, like there'll be a thousand.

306
00:54:21,000 --> 00:54:24,000
But it's actually should be grams or like seedlings.

307
00:54:24,000 --> 00:54:29,000
What can be will come up in grams or seeds will come up in grams.

308
00:54:29,000 --> 00:54:32,000
But I think they should be each or seedlings.

309
00:54:32,000 --> 00:54:42,000
So the system doesn't really enforce a lot of these things, just like there's a negative amount of dried flour and negative waste.

310
00:54:42,000 --> 00:54:48,000
So negative waste to me tells me that you've actually like gained, you know, you've gained some flour.

311
00:54:48,000 --> 00:54:51,000
So there's a lot of anomalies like this in the data.

312
00:54:51,000 --> 00:54:56,000
So what would be interesting to see is, is the negative waste.

313
00:54:56,000 --> 00:55:07,000
Are they just doing a correction or is maybe that just the licensee just thinks that waste is a negative.

314
00:55:07,000 --> 00:55:12,000
So they just code it as negative. So that would be.

315
00:55:12,000 --> 00:55:16,000
It should be consistent. Yes, everybody.

316
00:55:16,000 --> 00:55:19,000
And you're talking about.

317
00:55:19,000 --> 00:55:31,000
So what you're discovering, Charles, is the intricacies of data, essentially data science is, you know.

318
00:55:31,000 --> 00:55:39,000
It's amazing, you know, because, you know, they've got, you know, fairly well defined fields here.

319
00:55:39,000 --> 00:55:47,000
But you're right. So so that's where we're sort of doing our sort of investigation slash analysis.

320
00:55:47,000 --> 00:55:51,000
We're basically. You know, this is the API.

321
00:55:51,000 --> 00:55:56,000
You know, this is what it. You know, it says it's going in as.

322
00:55:56,000 --> 00:56:02,000
And like you said, you know, we can actually then come and.

323
00:56:02,000 --> 00:56:05,000
You know, read it in the.

324
00:56:05,000 --> 00:56:09,000
The I think they have inventories here somewhere.

325
00:56:09,000 --> 00:56:18,000
You see, interesting to see whether on the data entry, when you send it to them, whether you're required to make it negative on the post.

326
00:56:18,000 --> 00:56:29,000
Or whether it's just being recorded as a negative in their system. So when you do it, get you get the negative, because that's what's stored in their system.

327
00:56:29,000 --> 00:56:35,000
Right. I think it's just going to be testing it, just trial and error to find out.

328
00:56:35,000 --> 00:56:44,000
OK, do I post this as a positive and then they flip the sign because it's a waste type of transaction.

329
00:56:44,000 --> 00:56:54,000
Yeah, but out of all the hundreds of thousands of records that are only like five, five or five records that have negative waste.

330
00:56:54,000 --> 00:56:57,000
So obviously somebody just put it out.

331
00:56:57,000 --> 00:57:03,000
So they don't have any error checking on it. Their valid data validation, maybe on the entry is not good.

332
00:57:03,000 --> 00:57:13,000
They don't. There's there are things that were tested one hundred and twenty five years ago and there are things that were tested one hundred and twenty five years in the future.

333
00:57:13,000 --> 00:57:21,000
There's no data validation at all.

334
00:57:21,000 --> 00:57:39,000
And so exactly. And so this is sort of where the exploration begins, because, you know, as you're building your system out, you just kind of want to keep in mind these data intricacies because, you know, your system.

335
00:57:39,000 --> 00:57:52,000
So say you build it for wholesalers, you know, they're going to be dealing with retailers, they're going to be dealing with other producers, they're going to be dealing with processors.

336
00:57:52,000 --> 00:57:59,000
And, you know, the better your system can interact with other systems, you know, in their data.

337
00:57:59,000 --> 00:58:12,000
If somebody puts in a wonky strain name, someone puts in a weird inventory type, you know, someone codes it as flower, but it should be flower lots.

338
00:58:12,000 --> 00:58:26,000
You know, the better your software system can handle that, you know, the happier your clients are going to be because, you know, at the end of the day, they just want things to just run smoothly.

339
00:58:26,000 --> 00:58:32,000
They want to be able to face nicely with the people they're doing business with.

340
00:58:32,000 --> 00:58:50,000
And, you know, like I said, you just have to take the state traceability system as given and then, you know, make your system run as smoothly as possible around it.

341
00:58:50,000 --> 00:58:57,000
At least that's my two cents.

342
00:58:57,000 --> 00:59:11,000
But I would just like to say that just to sort of round this up that I think

343
00:59:11,000 --> 00:59:24,000
So I think I actually have a lot more exploration to do with the inventory types because I, you know, wasn't actually as ready to go with that as I thought.

344
00:59:24,000 --> 00:59:38,000
So for next week, you know, I'm going to be reading up on the inventory types to actually try to figure out, you know, what's the difference between all these intermediate types.

345
00:59:38,000 --> 00:59:46,000
And that way, you know, we can actually do, you know, you know, a bit better mock, you know, towards the API next time.

346
00:59:46,000 --> 00:59:51,000
But I guess, you know, we're kind of near the end of the hour.

347
00:59:51,000 --> 01:00:02,000
So I guess just, you know, are there any questions, comments from from the from the gang?

348
01:00:02,000 --> 01:00:12,000
All right. All right. All right. Well, well, you know, thank you all for coming in.

349
01:00:12,000 --> 01:00:17,000
You know, I apologize that the chloropleth that was sort of a hiccup.

350
01:00:17,000 --> 01:00:24,000
So I'm going to clean that up and I'll send you all, you know, a link to the code so that way you can see a cleaned up version.

351
01:00:24,000 --> 01:00:35,000
And then, you know, like I said, we'll continue reading up on this traceability system so that way, you know, next week you can have a bit more informative of a discussion.

352
01:00:35,000 --> 01:00:44,000
But, you know, you know, and for Nick, I'm going to keep an eye out for good data sources for you, too.

353
01:00:44,000 --> 01:00:51,000
Yeah, I think I'll be joining every week. This is really interesting stuff.

354
01:00:51,000 --> 01:00:58,000
So you question real quick before we go, do you work in Washington state or Oregon?

355
01:00:58,000 --> 01:01:04,000
Yeah. Well, that's good to know. I'll keep that in mind.

356
01:01:04,000 --> 01:01:13,000
Oregon has an API that you can hit for pesticides, but I'm not sure much else, but I'll I'll keep that in mind in case we come across any good Oregon data.

357
01:01:13,000 --> 01:01:27,000
Yeah, I am in Oregon, but like we are hopefully by the end of the year, we're going to like be producing in Washington. So I work for Grand Wild and we right now we're in California, Colorado, Nevada.

358
01:01:27,000 --> 01:01:35,000
So we're in multiple states, not just in Oregon. Awesome. Awesome. Well, we'll go ahead and let you go here.

359
01:01:35,000 --> 01:01:52,000
And you know, stay tuned because we'll we'll dig up some good data for you. And if you're interested in any in particular data points, I know producers and processors are interested in like, you know, what, you know, what other brands, retailers are carrying and things like that.

360
01:01:52,000 --> 01:01:59,000
So, you know, we can do some good analysis for you. Awesome. Yeah, I look forward to it. Awesome. Well, thanks for joining everyone.

361
01:01:59,000 --> 01:02:20,000
And until next time, keep your nose to the grindstone. Before you disconnect, I would like to definitely connect with you because I'm interested in all this, not, you know, I would like to, you know, set up an actual meeting with my team and see how we could connect all this information.

362
01:02:20,000 --> 01:02:36,000
All this data you guys are acquiring to see how that, you know, we could use it in our platform. So whenever you I put my LinkedIn there, if you want to connect with me there or I can do my phone or my email and we could connect from there.

363
01:02:36,000 --> 01:02:52,000
This is definitely very interesting. All these data points you guys are taking and see how we could integrate it with our platform. Absolutely, Danny. I'll send you a message and that's exactly what we're trying to do is get good data into your platform.

364
01:02:52,000 --> 01:03:01,000
So you can make it make it useful. Thank you. All right, guys. Awesome, Danny. Well, until next week. It's good meeting you all.

365
01:03:01,000 --> 01:03:20,000
Thank you. Bye.

