Ranjitha Jiya, conservative dentist and endodontist, today I will be talking about access cavity preparation. All the features of anatomic study in the human system, one of the most complex is the pulse cavity morphology. That means, among all the anatomical studies that you do of all the parts of the body, pulse cavity morphology is the most complex thing to study. Coming to the access cavity definition of access cavity preparation, access cavity is defined as the opening prepared in a tool, it is an opening prepared in a tool to gain entrance to the root canal system for the purpose of cleaning, shaping and obturating. This is given by the glossary of entombed terms in the 8th edition. Now as I already told, studying the pulse cavity morphology is the basic necessity for your access cavity preparation. Your eyes will not be able to see what your mind doesn't know. If you don't know the basic morphology of your pulse cavity, you will not be able to identify your canals. So, they are known the basic morphology of pulse like the root canal, the pulse chamber, a pylchol foramine, islamers, accessory foramines, accessory canals, lateral canals. All these things is of greater importance during the access cavity preparation. Coming to the root canal configuration, there are various types of root canal configurations. Among them, two major types of classification is given, one is given by vertices, the other is given by veins. These are the two commonly used class configurations to identify your root canal system. Among them, vertices root canal configurations have total of 8 types in which type 1 is where it has one orifice with one canal exiting at one apical foramina. Type 2 is where it has two orifice where the two canals merge and exit at one apical foramina. Type 3 is where there are single orifice, then the canal splits into two, but again merges into one and exits at the apical throat. Type 4 is where two separate orifice, when these two canals exit at two separate accessory foramines, two separate foramines, type 5 is where there is only one orifice, and the canal splits into two and exits at two different apical foramina. Type 6 is two orifice, merges into one, then again splits into two and exits at two apical foramina. Type 7 is 1212 that is one orifice, the canal splits into two, then again merges into one, then again splits into two. Type 3 is where the canal has three separate orifice and exits at three different apical foramina. Wains classification is simple in which type 1 is one orifice and one canal exiting at one apical foramina. Type 2 is two orifice where the canal merges and exits at one apical foramina. Type 3 is two separate orifice, exits at two different apical foramina. Type 4 is one orifice, exits at two different apical foramina. This is your basic types of your route canal in this case. Then among the other things, among the other morphology that you mentioned is the most of its great importance. Apical foramina, apical foramina not all the apical foramines will be at the centre of your apical throat. In many times, where your apical foramina will be present easily, distally or laterally of the throat. So, you should always consider that you should never force a bigger file and try exiting at the centre of your apical throat. There are chances that your apical foramina might be exiting at one of the lateral sides, so which radiographically you might feel like the file is shorter, but you will be seeing the exit. If you make it in different angulations, then you will be identified as exiting of the file as drapex. The other thing that you should know is lateral canal and accessory foramina. There are many lateral canals and accessory foramina because of which your indication says an important role in filling base accessory foramina. And the last thing that you should consider is your influence of aging on pulp cavity. For younger patients, the volume of your pulp will be greater amount compared to your older patients. In older patients, because of your secondary dentin deposition, the pulp chimbo volume will be comparatively less and the canals also will be narrower compared to your younger patients. Coming to the objectives of your access cavity preparations, the first objective is to remove all the carious tooth structure. The second objective is to conserve zone tooth structure. You have to remove the carious tooth structure, but at the same time you should be protecting the sand tooth structure and you should completely de-route the pulp chamber. Remove all of the coronal pulp tissue. You should remove the coronal pulp tissue whether it is vital or necrotic. And you should locate all the root canal orifices and you should have a straight line access to the root canal. All these objectives hold good for your traditional access cavity preparations. See these days there are many other modifications of your access cavity preparations which are very conservatively done. So right now the objective holds good for your traditional access cavity preparations. Coming to the laws of access opening, there are nine laws for the access opening. First law is law of centrality. Law of centrality states that the floor of the pulp chamber is always located in the centre of the tooth at the level of your CEJ. What law of centrality tells is that at the level of CEJ the pulp chamber is always located at the centre of the tooth. Law of concentricity states that the walls of the pulp chamber are always concentric to the external surface of the tooth at the level of CEJ. That means the pulp chamber follows the external surface of the tooth at the level of your CEJ. Coming to the law of CEJ, it should be used as a landmark to locate the pulp chamber as it is repeatable and consistent in its position in any tooth. You should always use CEJ as your landmark to locate the pulp chamber. Now coming to the law of symmetry 1, except for the migratory molar, both is law of symmetry 1 and law of symmetry 2. We are excluding the migratory molar. Law of symmetry 1 except for migratory molar, the orifice of the canals are equidistant from a line drawn in a medial distal direction through the pulp chamber. That means imagine you are drawing a line from medial to distal direction. What happens? What they are telling is the orifice of these canals are present at equal distance from this line. Law of symmetry 2 is the orifice of the canals lie on a perpendicular to a line drawn in a medial distal direction across the centre of the pulp chamber. That means imagine you are drawing a line medial distal. So what they said, law of symmetry 1, that your orifice will be equidistant from this line drawn in a medial distal direction. Law of symmetry 2 states that the line that you have drawn in medial distal, you know. If you draw a line perpendicular to this medial distal, line drawn in medial distal direction, your orifice will be located on this perpendicular line. Now coming to the law of colour change, the colour of the pulp chamber floor is always darker in comparison to the vertical surrounding dentine wall. That means there is a colour difference. See the colour of your enamel, the colour of your dentine is always different and the colour of your pulp chamber is little more darker than your dentine colour. Law of orifice location, there are three laws of orifice location. Law of orifice location 1, 2 and 3. Law of orifice location 1 states that the orifice of the root canal are always located at the junction of dentine walls and the floor of the pulp chamber. That means the orifices are located at the junction of your dentine wall and the floor. Law of orifice location 2 states that these orifices are located at an angle. First thing said that it is present at the junction of dentine wall and floor. Second law is stating that it is present at an angle at this junction of dentine wall and pulp floor. And law of orifice location 3 states that the orifice of root canal are located at the terminus of root developmental fusion line. They are basically present at the terminus of your developmental fusion line. See if you see this picture you can see very clearly the developmental group. See this is your Y shaped developmental group. At the terminus of your groups the orifice are present. Now coming to the Arran enterium that is required during your access character preparation. You definitely need a good mouth mirror so that your illumination and magnification is good.  I am coming to the burst. You can either use ground carbide burst or you can use trans metal burst. If in case you are doing an access opening through the ground. And in case it is calcified too you can use extended long shack burst. You might require endodontic spoon excavator, endodontic explorers. The first picture that you can see here these are your burst. And this is your explorers. This is your bone excavator. This is your dv16. And for an additional age. Or maybe that is what preparation is also done under microscope. And sometimes you might require ultrasonic tips so that you can trough around and find the canal. There is something called micro-openers and micro-dibriders. It is used to locate your orifice. And the most important thing is your radiograph. You definitely need to have iopias that is your periapyrical radiograph in multiple directions. You should not just have one iopia. But it should be in multiple directions both straight and in a medial and distal angulation. And TBCT is also useful in case of complex CTs. To the other eight for determining the pulse phase morphology. You can steam the pulse in the floor with your 1% methanine dye. Which will help you in identifying your orifices. You can also perform a sodium hypochloride bubble test. In which you will fill the tooth pick pulp chamber with a sodium hypochloride. And there will be a bubble generated when the sodium hypochloride reacts with the organic tissue present at the pulp orifice. So when these bubbles start generating at specific spaces, locations you will be able to identify the orifices. If in case the tooth is vital. Then you can locate the orifices by the presence of bleeding points. And if in case the tooth is nectotic. So you will not be able to find this bleeding spots. What so? In that case you should clean and dry the pulse chamber floor. So that you will be able to visually inspect the orifices. The conventional access opening which is also known as your traditional access opening. Mainly follows this principle. That is it should have a straight line access and there should be complete de-oofing of the pulp chamber. If you can visualize this picture. You can clearly see that there is a straight line orifice. There is straight line access to all the orifices. And the roof is completely removed. There is de-oofing of the pulp chamber. So the main principle that is followed during your access cavity preparation is Outline form, convenience form, removal of remaining carious denting and defective restoration. You should always remove the carious denting and also defective restoration before performing your access cavity. The reason behind this. Imagine what happens. You will only remove half of the carious tooth structure or you will only remove half of the restoration. So that you will gain the access. Then you will finish all your root canal. Then before doing your access filling what you will do? You will try removing the remaining carious tooth structure or the defective restoration. There are chances that your tooth might fracture at that particular time. Then if you post and don't take rest. If you are not able to do your post and don't take restoration. The whole point of doing your root canal will be a waste. So you should always remove your carious denting and defective restoration. And toilet of the cavity should also be considered. Coming to the traditional access cavities. These are the various shapes of access cavities that you will gain with different types of tooth. Come to the central incisor. In case of central incisor the access cavity will be in the shape of rounded triangle. With your base at the incisor aspect. See this is your base which is directed incisorily. And this width of the base is determined by the distance between the mucous and distal pulp hairs. So you basically your central incisor will have a rounded triangular access opening. How do you get this access opening? First you should gain the entrance through the middle of the middle third. So if you divide your tooth into nine parts. The middle of your middle third is where you should start your access opening. Initially you should start penetrating at right angle. Once you start only with the NML. After that you can position the burr at 45 degrees. So that you will gain the access into your orifice. And one thing you should remember is you should deroof the pulp chamber completely. So that you will have a straight line access. And you should also be able to remove your lingual shoulder. Always consider the main principle of your traditional access cavity is having a straight line access. So you should deroof the pulp chamber completely and also remove your lingual shoulder. So that you will be able to place the file at a straight line. Coming to the lateral incisor. That's the opening of the lateral incisor. It's almost similar to that of the maxillary central incisor. However that's opening is much more smaller. So that's opening of lateral incisor is also rounded triangle or oval. Depending on the prominence of the mesian and distal pulp horns. Coming to the canine. The access opening of the maxillary canine will be in the shape of an oval or slot shaped. Because there will be no mesian and distal pulp horns present in case of it. So basically your canine will have an oval shaped access opening. Coming to your maxillary first premolar. The access opening of your maxillary first premolar will be oval or slot shaped. It is wide buckwheat linguli and narrow mesiodistally. See you can clearly see it is wider buckwheat linguli and narrow mesiodistally. And centered mesiodistally between the cusp tips. See you can see it is equidistant from your cusp tips. And in case of three canals present. The outline form will become triangular with the base on the buckle aspect. So this is the pictorial representation. The orifice of your buckle canal will be present exactly below your buckle cusp tip. And your pelatal canal will be present below your pelatal cusp tip. This is about your maxillary first premolar. Coming to your maxillary second premolar. If there are two canals present. It is almost identical to your maxillary first premolar. If only one canal is present. Then the buckwheat linguli extension that you gave will be much more lesser than your maxillary first premolar. Coming to the maxillary first molars. These are the most complex because the maxillary first molars almost always has four canals. The axis cavity has a rhomboid shape with corners corresponding to the four orifices. So basically it will be in the shape of rhomboid because of the presence of four canals. Measily you should not extend into your measly marginal ridge. And distally you should not invite your oblique ridge. You should only extend up to involving the measly surface of your oblique ridge. But you should not completely involve your oblique ridge. That is in case of your maxillary first molars. Your MB1, the four canals that is present is your MB1 is meso buccal 1. It is located under your buccal cusp tip. MB2 is located measily and pelletil to your MB1. Disto buccal is located under your central posa. Pelletil is located at the junction of meso pelletil cusp and your oblique ridge. And the point of entry is the center of the occlusal taper. It always start from the center of your occlusal chamber. So that you gain the axis. Coming to the maxillary second molar. If in case there are four canals present then it will be the shape will be in the form of rhomboid. If three canals are present it will be in the shape of rhomboid. If there are only two canals present then it will be in the shape of oval. Where it is white buccal lingualy. Coming to the mandibular central and lateral incisors. The axis opening will be in the form of triangular or oval. Depending on the prominence of your mesial and distal pulpons. Imagine your mesial and distal pulpons are very prominent. Then you will have an axis opening in the shape of rounded triangular. If your mesial and distal pulpons are not very prominent then you will be having an oval type opening. If only two canals are present you should extend the wall into singlum lingualy. Basically it is removing your lingual shoulder. Mandibular canning is also similar to your mencelary canning. Where the axis cavity will be in the shape form of oval or slot shape. Coming to the mandibular first premolar. The axis opening of your mandibular first premolar will be in the form of oval. That means it is wider mesiodistally than its mancelary counterpart. In mancelary first premolar how was it? It was wider buccal lingualy and narrower mesiodistally. But compared to your mancelary first premolar your mandibular first premolar is wider mesiodistally. Much more wider. And mesiodistally the axis preparation is centered between the cusp tips. It is basically at the center of your lingual and buccal cusp tips. Axis opening of your mandibular second premolar is always almost similar to your mandibular first premolar. Mandibular first molar. The axis cavity for the mandibular first molar will be typically in the form of triangular, tracheos or rhomboid regardless of the number of canals that is present. According to your outline form of your mandibular first molar your mesiobuccal canal will be located exactly under your mesiobuccal cusp tip. Your mesiolingual canal will be located on the same line lingual to your central fissure. Your distal canal will be located distal to the central fossa and the point of entry is always your central fossa. There are chances that there is a presence of your fourth canal called your mid mesial canal which will be present between your two mesial canals and sometime there will be presence of two distal canals also. Coming to your mandibular second molar if in case there are three canals present the axis cavity opening will be similar to your mandibular first molar although it will be bit more triangular than less rhomboid if in case there are two canals present it will be rectangular which will be wide mesoid distally and narrow buckling valley if in case there is a single canal present it will be in the form of oval and is lined up in the center of the occlusion surface. So all the traditional axis cavity preparation what design keeping in mind that these extensions are done so that you prevent the procedural errors or any obstructions during your cleaning and shaping so extension work prevention involves removal of your dentine obstruction to extend the straight line access to the apical foramina or to the primary curvature of the root canal basically this was done to facilitate your treatment procedures and to avoid the procedural errors. So the advantages of this traditional axis cavity preparation were the visibility was enhanced and improved clinical exploration for chamber floor anatomy and canal orifice what happens because of the wide axis opening you will be able to locate the presence of an extra orifice or you will be able to easily locate the orifices it facilitates the cleaning shaping and obturation it minimizes the procedural errors and also alters parameters of curvature in a favorable way but there are certain disadvantages also with this traditional axis cavity design that is you will lose the coronal and very cervical dentine of your tooth structure and it compromises the biomechanical integrity of the tooth and there will be early loss of your endodontically treated tooth the main reason for this early loss of your endodontically treated tooth is when we are doing axis cavity with your traditional axis cavity preparation what happens, operator needs and restoration needs are complete that means for operator if it is straight line axis and improved visibility it will be easy for him to do and for restoration also if there is sufficient thickness of your restoration the restoration also will be folded in place but what happens to tooth needs that means there should be sufficient amount of tooth structure to withstand the occlusion forces but here the tooth needs is compromised because of which what happens the extraction of endodontically treated tooth is more and more because of the non-restorability more than the cause of your true endodontic origin the root canals are not failing because of your true endodontic origin that is presence of your bacteria or anything but the failure is more because of your non-restorability see your vertical root tractors are also present in case of tooth so to overcome this the newer axis cavity preparations are designed so that the periservical dentine 3D ferrule and 3D softwood 3D is nothing but your 3 dimensional ferrule 3 dimensional softwood are preserved in case of your conservative axis cavity preparations you might be wondering what is this periservical dentine that ma'am is telling from that time periservical dentine is nothing but the dentine near the alveolar crust this is a critical zone see the 4mm dentine above to your crustal bone and 4mm dentine below to your crustal bone is very crucial in transforming the load from the occlusion table to the root so the more amount of your periservical dentine is retained the capability of your tooth to withstand the occlusion forces is more so what are all the minimally invasive axis cavity preparations or conservative axis cavity preparation is conservative endodontic axis cavity or if I directed dentine conservation axis cavity ninja endodontic axis cavity incisal axis, incisal axis for maxillary central incisor and all what we used to do we used to enter the tooth structure from penitentiary but incisal axis is where you will start the preparation from the incisalate cannally enamel preparation microguided endodontics and dynamically guided endodontics these are all the other types of axis cavity preparations there are truss axis cavity preparations there are many more conservative mode of your axis cavity preparation which you will be studying later thank you


relating to publication about an algorithm for binning. Okay, well thanks to the organizers and especially to Mark for inviting me to speak here. This is really exciting for me and a great opportunity and I'm really happy to be here. So the talk is really about implementing a system of binning that I helped to sort of propose along with Jim Evans, who's my colleague at UNC. And I'm gonna go through some of the background because I think it's important to set a definition of what we call binning and utility and actionability and those kinds of things and really define things out front. So the bottom line is that the goal here is to implement next generation sequencing whether it's whole genome, whole exome or targeted exome sequencing as a clinical diagnostic test. That's really what we in our group are after. And so the question is how do you find the clinically relevant variants? We've heard a lot about pharmacogenomics. We've heard some about GWAS risk snips from the informatics point of view. Those are easy to find. They're all labeled, they have names. They say RS something, something, something. So you can find them very easily. The question for those is what do you do with those and which ones do you report and so forth? I'm actually not gonna talk about that at all because for our point of view, I think the rare diseases and the mutations that actually cause Mendelian disorders are the things that we're interested in and I'm gonna sort of pick up a little bit where Les left off earlier today from a sort of rare variants point of view. So we envision that for a clinical diagnostic test based on a next gen sequencing platform, we're gonna do three sweeps through the data. The first one's gonna be your diagnostic results. So this person is being sequenced because of multiple congenital anomalies. There's gonna be an analysis of those genes that are involved in those conditions. We're gonna report back something that says, this is the diagnostic result or you could replace that with breast cancer or aortic aneurysm, whatever the phenotype is, there's gonna be some diagnostic analysis that's focused on that and the goal there is gonna be to maximize sensitivity and frankly if we find variants of uncertain significance, those are gonna be things that may be relevant for the clinician and the patient to know about and so those would be the sorts of things that even if we don't understand if that's the disease causing variant, we're gonna report it back in the same way that the standard diagnostic test report back that kind of result. On the other hand, and I think this is where this work kind of impacts what people are talking about today maybe, is there's also gonna be a whole lot of incidental findings and I know that some people don't like the term incidental. I think it's descriptive, I think it captures the idea that these are findings that are, not what you are looking for, but they're there nevertheless and you can look for them if you choose to or you can choose not to look for them but they are there. But from a clinical point of view we need to maximize specificity and I'm gonna come back to this with incidental findings and then of course the third sweep that all of us can do with this data is to simply go back through it in a research context and see if we can discover new gene associations and so on and I'm not gonna really get into that today. So one thing that I've really kind of seen a lot of today is that context really matters when we're talking about these variants and what to do with them. If you have a symptomatic patient who's being assessed for something and you're looking for a diagnosis, you have to report the full range of variants, even those that you don't necessarily understand. If it's a missense mutation in a BRCA gene, in a patient with breast cancer, that should be reported and it should be reported as a variant of uncertain significance. On the other hand, if you have an asymptomatic patient or you have an incidental finding in a patient that's not for what you are looking for, the prior probability that that person actually has a genetic disorder approaches zero. In other words, if we were to do population screening with whole genome sequencing in this room, there should be close to none, maybe one or two people in here with a strongly hereditary disorder and so all of us are gonna have millions of genetic variants and the likelihood that any of those variants is actually relevant is essentially zero. So we need to maximize specificity so that when we are providing information to the patient, we have a clinically relevant posterior probability. In other words, we think this variant is actually meaningful and it's predictive for you. So for the incidental analysis, again, we're gonna be identifying clinically relevant findings unrelated to the patient's presentation. The vast majority of the things that we find will be absolutely meaningless and we have to ignore them. So we're gonna maximize specificity. We're not gonna report the US's. We need to set a high bar so that the things we do report are medically actionable or have medical utility so that when we report them to physicians and patients, there's a clear translation to what should happen next and that's sort of what Howard's getting at. What should we do next with that variant? So this has been alluded to, the commentary that I wrote with Jim and Moine and really the idea of the binning came from Jim and I've been involved a lot in developing this and now the idea is that we need to have some type of structured analysis that we put together ahead of time that we know exactly how we're analyzing the genome and we know what we did and we do it consistently and if it changes over time, that's fine. You version things and you know how they're changing over time so that if you analyze someone two years ago on version one of the binning scheme and now you're on version three of the binning scheme, you know that and you can reanalyze them. So our strategy is to do automated annotation. We first categorize genes according to the clinical utility and the risk for harm. So when we say binning, we're binning genes, not variants. We're saying the BRCA1 gene should belong in this bin because if there were a deleterious mutation in that gene it would be either clinically actionable or not clinically actionable and that's the decision that we have to make. And then we also have an a priori definition of what types of variants in those genes should be reported. So again, this gets back to the issue of the variants of uncertain significance versus the variants that we know are deleterious and we have to be very confident about that call. So we do sort the variants that we find into these predetermined bins and then we would only review or report those that we think are likely deleterious. So in other words, we're really setting a high bar for what actually is gonna get back to the patient. Okay, so bin one as in our lingo would be the clinically actionable or genes with utility in that if you find a deleterious mutation in that gene there's a well-defined action that can be taken. Lynch syndrome is a good example. There are well-defined screening. There's cost-effectiveness research. It's very clear that if you find someone with Lynch syndrome you can do them a lot of good. Long QT syndrome, thoracic aneurysm syndromes and essentially any of the diseases that would be on the newborn screening panel which we feel are something that we can do about if we find them incidentally. Bin two in our lingo are the genes that are clinically valid but not necessarily directly actionable. So in other words, a gene from Mendelian Disorder which is a clearly associated Mendelian Disorder but there may not be a specific intervention that will help that person prevent morbidity, prevent mortality. And I agree that there is some gray zone in terms of what utility means for these types of genes but when we're talking about it we're talking about what would that patient be able to do with the information? We subcategorize bin two into three groups. Bin two A which we consider very low risk for causing any harm to people such as their GWAS risk snips and their pharmacogenomic variants and so on. If somebody found out that they were a carrier for a particular SIP2D6 allele it's probably not gonna cause them to go do anything drastic and it's probably not gonna harm them in pretty much any way. There's a sort of middle category for medium risk of harm. Most Mendelian Disorders would fit into here. You know, people will deal with information differently and be affected by it differently. We have two C being the conditions where there's a high risk for harm. The example is given here, Huntington's of course being a triplet repeat disorders not likely to be picked up on whole exome sequencing as Gail was helpfully pointing out earlier. My favorite example for this category now is fatal familial insomnia. A horrible, horrible condition that I think many of us would think twice before we decided to learn if we were gonna get that condition. And then bin three for us are all genes for which there's no clear link to a genetic disorder. So no known clinical significance. One of the things that I regret about the commentary is that we didn't think through the issue of carrier status enough. And I think if we could redo that commentary we would have a separate category for a carrier status, reproductive status which I think is a clearly separate issue and for young families would be certainly have lots of usefulness whether you call that actionability or utility. So we would consider there to be a separate category for carrier status which could include recessive conditions that are in bin one, bin two or bin three. Whatever the carrier status happens to be. So essentially what we did since the time of the commentary was to take OMIM and use some computer scripting to basically take all the genes from OMIM that are strongly associated with a Mendelian disease and what the inheritance pattern is for those genes and then try to categorize those or bin them into those categories. So it ended up being 2016 genes. And really the final bin decision is a bit of a judgment call. There are some genes that I think lots of people would pretty well get consensus around this gene ought to be in bin one, this gene ought to be in bin two C. Most genes probably are in bin two B. So bin one ended up being 161 genes, bin two B ended up being 1798 and bin two C was 57 genes. I think that kind of reflects the fact that most genetic disorders don't have a clearly definable treatment or something that we can do to benefit the person. And most genetic disorders are not terribly worrisome in terms of their potential effect on the person's psychosocial wellbeing. So as my PhD advisor said theories are good, but data are better. So we took 80 genomes that were sequenced by complete genomics. 19 of them were families we sequenced at our institute for hereditary cancer susceptibility. 61 of them were from the publicly available genomes that complete genomics has on their website. We used 1000 genomes project allele frequency data. We used the human gene mutation database. And a lot of this is gonna look a little bit similar to what Les presented earlier. So of course our expectations are the likelihood of any of these people actually having a disease causing Mendelian disorders pretty low. So we're gonna expect to find very few in one or two findings per person. Although most people will be heterozygous carriers of some type of recessive genes. So we should find some positive findings. So essentially what happens is if you take all the variants in those bin genes, we have about 13,000 per person in bin one, 175,000 per person in bin two B and 9,200 in bin two C. Again, this is genome, not exome. So we've got a lot of intronic variants in there. If we just reduce by allele frequency, if we just say anything that's less than 5% or anything that's less than 1%, what does that do to our numbers? Less than 5% reduces the numbers 10 fold, less than 1% reduces it about 15 fold. Still we've got a lot of variants that we really don't want to be looking at. So we then looked at what if you just took the protein coding variants in those same allele frequency categories. And again, this is including missense, truncating, frameshift, nonsense, splice site. You still have way too many variants per person, over 100 variants per person at the 5% allele frequency. So clearly most of these must just be very innocuous, benign types of things. Now if we just looked at the rare truncating variants, so these would be the frameshift, nonsense, splice site, we get down to a tractable number. These people now have less than 10 variants per person. These are the numbers that a human could then look at and say, well, what does that truncating mutation look like it does? So the question that came up when we were talking about this with our molecular lab colleagues was, what about the missense variants?  We know that there's some disease causing missense variants out there. So this is where we incorporated the human gene mutation database because of course we're gonna sacrifice sensitivity if we exclude those missense variants entirely. So by doing that query, we were able to identify 871 unique variants, 771 of them missense. So the vast majority of what we identified through the human gene mutation database were indeed missense variants, so we were able to feel like we were recapturing some possibly disease-causing mutations. And the average was about 74 per person, which is still way too many. You should not have 74 disease-causing mutations per person. And this is exactly the range of numbers that was reported in the 1000 Genomes paper in Nature recently. So we know that we're doing the analysis correctly. It's just that there must be something going on with those variants in the human gene mutation database as has been alluded to previously. And what was interesting is that there was very surprisingly little overlap with the rare missense mutations we had found. We kind of thought that maybe these 100-some-odd variants per person might be the really important ones of those missense variants that we had seen. But in fact, about 80% of the disease-causing mutations identified per person have an allele frequency greater than 5%. And so this graph is a little bit confusing, but what this amounts to is a histogram. So the allele frequency bins are on the, I shouldn't use the bin. The allele frequency ranges are on the bottom, on the y-axis are the number of variants. And the bar is the average number of variants per person within that allele frequency range and then the error bars are the standard deviation. So essentially you have a large number of variants per person with greater than 5% allele frequency.  And so that surprised us enough that we wanted to go back and see what is going on in the human gene mutation database. And in fact, most of the DM mutations, the disease-causing mutations in the human gene mutation database are indeed rare. This huge spike of about 75,000 variants is zero. They don't have 1,000 genomes allele frequencies, so they're very rare. And that's good. The problem is that there's still too many that are common. And so if you just sort of change your scale on the y-axis now, you can see that there are a sizable number, over 100 variants that are labeled DM that are 5% to 10% allele frequency and so forth. And so this tells us that there are probably many misanotations in that database. And unfortunately, because of the fact that they are prevalent in the population, these are the ones you're gonna find when you do your whole genome sequencing. The good news is that we can exclude those and we can eventually edit those out of the database. And so I think we may actually be able to use this information with a little bit of extracuration. So the final binning algorithm that we use is to take a variant that's within a binned gene and less than 5% allele frequency and either DM and HGMDs, that's their disease mutation in the human gene mutation database, or protein truncating. And what we ended up with were numbers that I think are getting fairly close to what we would expect in the general population. So 1.5 in one variance per person. Again, that's a little bit too high. But again, a very tractable number for a human to actually sit down and look at. So these were about, in this set of 80 genomes, about 1391 variants that we basically just manually curated to either remove the ones that looked like they were polymorphisms or VUS is kind of in the same way that Les described earlier. You do your Google scholar search, your OMIM, you look in a locospecific database, try to assess the evidence for that variant being in the gene mutation database or what the evidence would be for a truncating mutation in that gene and then reassign or remove those variants from consideration. So after reviewing those, I removed about 50% of the variants. That's just being clearly polymorphic or there was conflicting evidence in literature or there was enough evidence to say that variant probably was not an actual disease causing variant and moved about 5% of the variants into the carrier status. And again, this is sort of a Goldilocks approach. I was trying not to be too harsh, trying not to be too lenient. Some people would probably be much more harsh and remove more variants and so forth. The bottom line is that when you remove those variants, each of the bins lost variants. So these are stacked bar graphs showing what proportion of the variants were either in the same bin in white or moved to a different bin in light gray or carrier status in dark gray and then removed in black. And so each of the bins lost some variants either that were removed or were switched to carrier status. What was interesting to me was that more of the human gene mutation database variants were removed compared to sort of the novel truncating ones. So in the end, after removing that 50% of the variants, we ended up with about 0.3 variants and bin one per person, 2.6 bin 2B variants per person, et cetera, about 5.5 carrier variants per person. And this amounts to about eight to nine variants that you had to actually then go and confirm in the CLIA lab and see if they're actually real. Again, I think a lot of these may be sequencing artifacts. We're gonna find that many of the Frameshift mutations are probably sequencing artifacts and we'll remove those at that point. There certainly are false positive reports in the literature and as has been alluded to before, we're gonna learn a whole lot about what the actual penetrance is of these conditions as we get more and more of this type of data. And then just as a final slide, I wanted to kind of compare this to the paper from Bell at all earlier in the year, looking at a little bit over 400 genes for carrier testing using next-gen sequencing. We get a very similar histogram of the number of carrier variants per person right around the five to six range with a spread from zero to 12. So I'm over my time, but I just wanna summarize a couple of points. I think this actually says that we can implement an automated strategy for identifying these clinically relevant incidental findings. It may be a lot harder on the diagnostic end because you're gonna have to be looking at a lot more variants. What's nice to me is that this is a versionable process. It's written in code. The code gets updated. You change the version. You know what's different about one version to the next with the incorporation of databases and so forth, it's gonna be very important to keep track of what was changed from one version to the next. I expect that there's gonna be vigorous debate over the bending structure that we proposed, which genes should be in which category. Should we even have this many categories? Should there be more categories or fewer categories? I think that as we learn more about medical genetics, we're gonna see some changes. Things that are in bin three right now are gonna get moved up to bin two or bin one. Things that are in bin two will get moved to bin one as we learn about what we can actually do about these conditions. And I alluded earlier to the SNPs and the GWAS polymorphisms. Those are all to me in bin two A because very few of them are essentially a directly actionable thing. They're contextually actionable. If you have a person on a medication, they become actionable or if there were a risk assessment that could be done for diabetes that could lead to beneficial treatments and so forth, those could be moved into bin one. I think we'll refine the rules for reporting the variants again. What we did here was a very kind of, rough draft of what the binning or what the variant reporting criteria should be. We'll get much more nuanced as we learn more about the types of mutations that cause disease. And of course with a clinical grade database like the one we were sort of kind of pie in the sky, thinking about earlier today, replacing the gene mutation database or incorporating those other databases into the system, I think it'll be very valuable. All right, there's some other issues that are being addressed in terms of how we should counsel people and how we should talk about it. I think putting the next gen results in bins allows us to talk to patients about them in categories that make sense to patients and allows us to analyze them in that same way and return them in that same way. I'll stop there and take any questions.


I don't think many people have been following this story and that's really discouraging because we have a really unique opportunity and a limited time frame to actually restore net neutrality so long as Biden's FCC nominee, Gigi Sohn, gets confirmed. But the right is waging an all out war against her confirmation. Lindsey Graham has publicly denounced her and said he's going to fight to stop her and do everything that he can to do just that. And also the propaganda arm has kicked in because Fox News did a segment where they fearmongered about Gigi Sohn and the things that they say are just downright absurd and incredibly, incredibly deceitful. President Biden's new FCC nominee is being hailed by the White House as a leading advocate for open, affordable and democratic communications networks. But is that just code for media censor here to react? Fox News contributor Joe Contra. Joe, her name is Gigi Sohn. How petrified should every American be about her nomination? Well, let's read back Gigi Sohn's own words. This is what she just had to say in 2020, quote, I believe that Fox News has had the most negative impact on our democracy. It's state-sponsored propaganda with few, if any, opposing viewpoints. Where's the hearing about that? Sohn also questions Sinclair Broadcasting's, quote, fitness to be a broadcast licensee, unquote. In other words, she will go after the licenses of Fox News, of Sinclair, of anybody who disagrees with the Biden administration. Pian Yang couldn't draw it up any better. She cannot be confirmed because the FCC cannot be weaponized to squash free speech and viewpoints that the Biden administration just happens to disagree with. And it's up to moderate Democrats to ensure that does not happen. That hearing starts, I believe, about in a week or so. And we all should be paying attention to that, because this could be Mr. Biden's most dangerous nominee yet. Lindsey Graham agrees with you. He released a statement saying Gigi Sohn is a complete political ideologue who has disdained for conservatives. She would be a complete nightmare for the country when it comes to regulating the public airwaves. I will do everything in my power to convince colleagues on both sides of the aisle to reject this extreme nominee. But in this political climate, Joe, can somebody like Senator Lindsey Graham convince the other side of the aisle to agree with him? It's very difficult, right? It won't take too many Democrats, though, to tip the scales, obviously, particularly when we're talking about a 50-50 Senate.  That's about it. But you would hope that they would say, all right, this is a bridge too far, and we have to put a stop to this. Because, again, this is somebody in Gigi Sohn who wants to stop what some people want to say on the airwaves. And that's not the role of the FCC. I don't think she's going to be invited to consciousness. It's always Twitter with these nominees that get them in trouble.  But I've got to say that from a propaganda standpoint, that was actually surprisingly clever. Because if they just say, look, this FCC nomination wants to restore net neutrality, that's a losing argument because even conservatives support net neutrality. So they don't want to have that battle. So what they do want to do is bring this battle on a field where they feel a little bit more comfortable and try to bring in the culture war. Well, she's a far leftist.  And it's actually something that will convince a lot of Americans, given that they don't really know who Gigi Sohn is. And they don't even know what's going on currently with regard to the FCC process. So, you know, if they explain it in a way that is not disingenuous, then they're going to lose that argument. So what do they do? They free a longer and they take that hyperbole to the next level. So she was compared to North Korea. That's the kind of policies that she wants to enact as a commissioner on the FCC. It's like Pyongyang, except you don't have that much power as FCC commissioner. And even if she got what she wanted, which is to restore net neutrality, we'd just be going back to the Obama era rules, which is what everyone wants, what we support. So it's funny how they have to be so bombastic. You know, they describe what she said and they ask, oh, is this just code for media sensor? And then the Fox House asks, how petrified should every American be about her nomination? So they don't really say anything specific there. There's a lot of innuendo and implications about what she would do. But what she's saying with regard to Sinclair Broadcasting, for example, her comments are true, but in terms of regulation, she's not going to revoke the broadcasting license from Fox News. So they want to paint her as the sensorian who's going to crack down on freedom of speech. But that's not actually the case, which she's referring to. And if you look at her regulatory history, she is in favor of actual competition in the market, which in theory is what these capitalists should support, but they're not going to tell you that. So if a media company is too big, Gigi Sohn would probably support regulating them more or breaking them up if need be. So this is from 2018. This is with regard to Sinclair Broadcasting and this was the market share that they held about 40% of households. So in the event they merged with Tribune, then this is the amount that their market share would grow from 40% to 72%. So when Gigi Sohn targets companies like Sinclair, this is what she's referring to. She wants to actually make it so that way the market is more free and there's not all of these monopolies. That's one of the biggest issues with the internet in the United States. It's very monopolistic. You usually have only one or two internet service providers if you're lucky. Comcast, AT&T, Verizon, sometimes CenturyLink, sometimes other companies, but that's what she's referring to. But they're not going to tell you that. Instead, they're going to imply that, well, she wants to crack down on anyone who she disagrees with. It's preposterous.  Now, back when Ajit Pai was overseeing the failed merger of Sinclair and Tribune, it was very obvious that he was acting on their behalf from the inside. And there was even an investigation by Watchdog over whether or not he did act improperly and they concluded that he did not. But still, after all of that, he ended up sinking the Sinclair Tribune merger. Why? I think it was because he got a little bit too close there. There was a little bit too much heat so he just couldn't approve it without getting some sort of a penalty or fine for corruption. I don't know. That's all speculation. It doesn't really matter though because what this was in reference to is monopolies. So they're trying to take her words and twist it. They don't want to talk about her rightful critiques of these major media conglomerates.  Is that just a code for media censor? And multiple times, you see them broadcast the signal to Joe Manchin and Kirsten Sinema. We really hope that they tank this. That's not what they said, but in particular, Consha said she cannot be confirmed because the FCC can't be weaponized by the Biden administration to squash free speech. They happen to disagree with and it's up to moderate Democrats to ensure that that does not happen. And says this could be Biden's most dangerous nominee yet. So they want you to believe this is about freedom of speech.  But instead, they want to make it seem like oh, well, she's going to go after conservatives. So they could tie this to the culture war and this, you know, conservative persecution complex about how conservatives are always targeted on Facebook and Twitter. They can actually gin up support from conservatives on this issue when last time conservatives were not in support of repealing that neutrality. So that's their playbook. They're trying to tank this confirmation by making it seem as if Gigi Stone is essentially, for lack of a better word, an SJW. Don't fall for it. Gigi Stone supports that neutrality and that's what she wants to do. And maybe she will go after monopolies, but that's a good thing because in a free market, which they supposedly support, mind you, you want competition. You want to encourage competition. You want to regulate these companies in a way that facilitates competition. Otherwise, it's worse for all of us. We have less freedom in the end, but instead they're saying, no, she's the one who's actually against freedom and she hates freedom of speech. Not true. It's nonsensical. I encourage lefties to pay attention to this issue because the right is already mobilized against her. Again, Lindsey Graham is fighting her. So if we let them have this battle and we don't push back at all, they win and we don't get that neutrality restored and we only have a limited window of opportunity to restore net neutrality. So if we lose this chance, then that's really sad. But this is someone who is on our side. This is someone who actually would take it further and support municipal public broadband. So the issue of net neutrality would be settled permanently. So we have to support Gigi Stone and anything that we can do to rally around her, even if it's just defending her and pushing back on social media against these lies. I think that's important and I would encourage you to do that.


Hello everyone, I am Sanjay Gupta and I welcome you on Sanjay Gupta Tech School. So today we are having day four of this Salesforce Omni Studio Bootcamp and I have Abhishek with me so welcome Abhishek on the platform. So as you already know Abhishek delivered lots of content and today also like he will be covering data rector thing and in data rector we will be discussing about data rector export with multiple objects. So this is the agenda for today and I hope you have done the practice whatever we have discussed in yesterday's session. So do follow all the sessions so that you can understand Omni Studio well because it is demanding technology and it is very much important if you are willing to work with industry clouds. Okay so with this now moving on to the next slide I want Abhishek to introduce himself because I know like in every session there are new folks coming up so please let everybody know about your Abhishek over to you. Thank you Sanjay. So hi everyone I hope you all are doing well so myself Abhishek and I am working as a Salesforce and Velocity developer in Salesforce community and I have overall five plus years of experience and I am a trailhead double star ranger and I have done some certifications on Salesforce like Omni Studio developer CPQ specialist service cloud PD-1 administrator and I have worked upon several projects on Velocity or Omni Studio and I have done some projects on industries as well like health insurance telecommunication and industries club. Great so this is about Abhishek and quite impressive profile and he is already certified Omni Studio developer so that's why he is here and sharing all his insight so that you guys can learn things and get a chance to work on industry cloud. So with this moving on to the next slide so if you want to become part of Sanjay Gupta Tech School community so you can scan this QR code more than 3000 folks are already connected and they are learning they are helping each other so if you have any doubt you can ask and anyone who have already implemented that problem have the solution so they will surely help you out and if you want to receive timely notifications so on next slide like if you see Abhishek and we go to next slide so you can follow Sanjay Gupta Tech School on YouTube, LinkedIn, Instagram and Telegram and the session tracker link and other important links are available in the video's description so you can just go through and check and please share a review or feedback about the bootcamp. So with this over to you Abhishek please start with the new things and it is the continuation of yesterday's session. Over to you. Sorry, I was talking on you. So we're gonna see in today's session a different type of data rector type which is data rector extract with the with the multiple objects so we have covered data rector turbo extract we have covered data rector extract but in data rector extract we just have covered only the part where we were fetching the data from only one object not multiple objects so in today's session we're gonna see how to fetch the data from multiple objects into a single data rector and that this is the functionality that data rector turbo extract do not support that is why they have given data rector extract where we can fetch the data data from single object as well as from the multiple objects right so for example if you want to fetch the data from from your accounts or let's say if you want to fetch the data from your contacts and if you want to get the get the related related account account records as well then this is the thing that you can do with the help of data rector extract where we will be extracting the multiple objects right and another benefit of using data rector extract for multiple objects is so that you don't have to multiple objects for the for fetching the for fetching the objects or records which are not linked to each other so for example let's say you want to fetch fetch the data from your account and if you want to fetch fetch the data from your let's say from any custom object right which is which is not related with your account object right then in that case we're gonna use the data rector extract where we will be where we can extract the data from from object which are not linked to each other right so I think Sanjay with this note we can jump on to the demo part right yeah Charlie and guys this would be interesting and complex as well because till now we worked with one object there was one list so here two different lists will be there different mappings so please focus on this session and do practice so that you can get your hands dirty and because after watching the session or watching the recording if you do implementation yourself then you can get enough confidence like you understood the things yeah go ahead Abhishek and start the demonstration I think we are going to implement first one right yeah exactly I mean where we will be fetching all the account information where active is equals to us and also as the first name ID of context where email ID is not equals to okay so accounts with related contacts yeah I mean first what we're gonna do is we're gonna fetch the account and context separately then after that we will be getting the we will be getting the context which is linked to the account only okay so this is how we're gonna demo it okay got it yep let me go to the org again I'm gonna company studio app and if I go to data raptors we'll be clicking the new and as we have seen yesterday for data record set the naming convention convention is DRE which is data record set where we will be seeing account with contacts the interface type will be the extract input and output type is json and in the description we can say batch call account records and it's and the contact records first step it's first step would be the similar to yesterday session we will be selecting our object which is your account output path will be account records and as we have in the slide right where name is equals to yes sorry active is equals to yeah okay we're gonna say active is equals to yes and for following the best practice what we're gonna do is we're gonna have a variable active param that we that we will be passing it from the when we'll be giving the input from the preview right and if I go to output so we want to fetch the account ID name and annual revenue so account account ID the value yesterday we want to give the parent node name is account so first mapping would be this second would be the name part and we want to say the account colon name and the third one is annual revenue right and now if I go to preview and if I click execute I will got I will get nothing because I have not passed the param value so I have to pass the param value as yes okay so I hope in this point everyone every understanding of how to fetch the records from the account right so here I can notice one thing for two account records and well revenue is not showing up so maybe that field is blank right exactly so on the account record for this this two account name United Oil and Abhishek this annual revenue field is not populated that is why it's coming as none right so so till this step we have covered in the yesterday session so now in today's session what we're gonna do is we're gonna get the context as well in in the same DR where we are where we are fetching the account records so for adding one more contact or one more object for retrieving the data we will be clicking another add extract step and in this extract step we're gonna select contact okay and similar to account what we're gonna do is give the name the give the name and in the condition we had where email is not equals to null okay so we're gonna keep it as blank when and if I go to preview and a click execute I will get nothing the reason is I haven't created any sort of mappings for the contact records so I have to go to output click the one more mapping and I have to say contact reasons so we're gonna get let's say contact result email and contact right and let's say if I'm gonna add one more field which can be your let's say contact first name contact first name right so now if you can see in the output json in the extract json path for the for fetching the account records we have referred the account records variable name and for fetching the contact records we have referred the contact result right but in the output json we have created two list first is of account second is of contacts right so now if I go to out preview and click execute so I will be getting two list first is of contact and second is of account right so as you can see we have fetched all the account records and the contact records in the in the single DR and at right inside we can see the s oql's yeah exactly in the s oql part as you can see first it data rector is executing the s oql for account object where it it has found the three records and for the context it has found the 22 records where email is not equals to null okay the the thing is this account and contacts right now are fed we are fetching these two objects independently there is no dependency we haven't defined anything like get me all the contacts for for for for all the accounts that we are fetching right now we are fetching all the contacts where email is not equals to null right so that's the beauty of data rector extract right if you want to fetch the objects independently then that you can do if you want to fetch the records where we where you will be having some dependency like for example I just want to get the contact records only for the accounts which is fetched from your step one I don't want all the contacts right so that also we can do in this data rector extract so for doing that what we can do is we will be just selecting this account records and here we're gonna we're gonna add one more filter criteria we were where we will we will say like on the contact the the relationship name or the field name for for the for the relationship on account is account ID right and over here we what we're gonna say is account records ID so from the first step we are fetching the account and we are getting the IDs of account in the second step we are fetching the contacts where email is not equals to null and account ID is equals to whatever we are getting in this account from the first step right and now if I go to preview and right now as you can see we have 13 contacts and if I click execute now we will be having only three contacts now and only only those contacts which are related to the accounts which we fetched yeah which we which we have fetched from the step one right and if you can see the as a quail as well so it says select account ID first name name ID email from contact where account ID is equals to this and email is not equals to null or account ID is equals to this so these account IDs are getting patched from your step one right so I mean when we are working with the apex right so if we want to get the contact records from the accounts that we have passed from the first so for that to write a loop you have to get all the account IDs in a set then you will be creating one more as a quail query on that set right but in the data that you haven't written a single line of code and it is giving you all the contact records related to the accounts that we are fetching in the first step yeah so this is this is one way of one way of doing all these things now let's say I am not fetching I'm not fetching the account records okay so maybe don't don't delete maybe we can create new data sure yeah so I'm gonna go and create a new data actor which will say give me all the contacts now with accounts okay so the difference between them is between them is in the preview as you can see in the contact list we just have the contact information in the account list we just have the account information right now what we're gonna do is we will be having the account information in the contact list only so that we don't have to we don't have to check manually whether this Tom contact refers to which account this list contact refers to which account we don't know we don't know yet right so what we're gonna do is over here we're gonna select the contact right and let's say contact records where email is not equals to null right and in the outputs what we're gonna do is let's say contact contact records email contact colon email and we're gonna add one more mapping for contact for let's say for getting the first name first name and now if if you guys are aware of as a quail query so when you are when you are querying the child child object so for fetching the fetching the parent object we use the APA name correct so for example if you want to fetch the data of account from the contact so what we what we're gonna write is select ID name comma account dot name comma account dot annual revenue right so this similar sort of thing you can do in the in the data reference right so for example I'm gonna fetch the account ID and let's say account ID and I'll create one more mapping where I'm gonna get the account name so what we're gonna do for that it would be content I mean when you are fetching the account from the contact you will be using the account for getting the account information account APA name for getting the account information and then you will be using the dot operator and now I'm gonna say name and in the result I'm gonna say like account name so you have to pay attention over here so what we are doing in this in this mapping is give me from the contact records I'm using the colon to get the account account parent relationship name then I'm using the dot so there are two things first I'm using the colon then I'm using the dot right so it's it's kind of similar to your SQL query where if you want to fetch if you want to get the parent field then you will be you will be using the dot operator right like if you do this account colon name then nothing will come like if I go to preview and click execute as you can see you are just having the account ID but if you want to get the any any sort of field from your parent record then you have to use dot operator yeah and I think this is very much important yeah exactly and now as you can see we have the account name as well so it is it is kind of similar to child to parent SQL and I can see SQL at right inside under debug law yeah it is exact same as we use the SQL query in child to parent relationship right one doubt I have like these are standard objects what if we have custom object so in in normal SQL we use underscore underscore r so is it same here or something different yeah it's the same thing I mean if you want to if you want to get I mean if you want to see one example we can do that as well okay so like if I go if I have any custom object I have one custom object test and I will go to field in relationships I have the account related to account so this is your custom field because this is not related to any sort of standard object yeah now if I go here you will be creating data after on test and I'll be creating yeah exactly so I'm gonna create one more data after so guys important thing now Abhishek is going to demo this multiple object thing on custom object so account will be standard and test will be custom right so yeah test is child object and which is having a lookup to account and through that test custom object we are going to fetch account information right so exact child to parent that is having custom relationship field actually right yeah I mean I can show you one more time so this is my test object and on this test object I have created look I have created a lookup to account right so for all the custom fields sales force added sales force will add underscore underscore C by default right now if I go back to the data after and if I click save and if I do get the data from your my test object let's say test results and I'm gonna say account ID is not equals to null okay so I want to get all the test object records where account ID is not equals to null okay I'll go to the output I'll create one mapping let's say I'm gonna get the test results or name test name and if I want to get the account name now so what we're gonna do is so in in a sequel if we if we are querying the parent field from the child object then we just append the underscore underscore C with the underscore underscore R right so that's the similar thing we gonna do over here as well account name and now if I go to preview and click execute so as you can see right now I don't have any sort of record so let me just go and create one record of a test object and I'm gonna select the count this account and I'm gonna click the save and if I go back to data after and click execute now as you can see we have the name of the test record and the account name from the test record okay yeah this is this is interesting like we don't need to learn new things same same SOQL concept is working here as well correct if I if I'll recap all these things so first we have we have created one data after where account and contact records we were fetching independently I mean then in the state after what we did is we just added one more filter criteria where give me all the contacts where account ID is coming from your first step first exact step okay and then we created a data after on the child child object which is contact and we got the information of the parent one parent parent records also like a company yeah and then child to parent on standard relationship exactly and then we created a child to parent relationship on the custom objects like this yeah so in in simple words we can say child to parent SOQL where relationship field is custom actually correct one yeah one question I have with with the first data actor so in this in this first rate data actor we are having two separate list one is account records one is contact result right so when so can we say it parent to child SOQL or no because in in debug log it is not like parent to child SOQL so account SOQL is executing separately and contact SOQL is executing separately I mean we cannot we cannot do these this sort of things for for getting the information from your data from parent to child okay yeah because we need to fetch parent first then only we can utilize those IDs to fetch the child records exactly okay yep so I think you you explained four different variations today that is great anything else that we need to cover in this section I mean if we go back to our slide and if you want me to give some I mean demo someone any another example we can I think second one is quite simple fetch accounts with related contact then fetch accounts with related opportunities cases fetch contacts with related account information that you already shown fetch accounts with contacts and context should have related account info as well so this this also you have covered and fetch account and contacts having specific record type so it this this I think we need to cover in the filter criteria right exactly I mean by this example I have got one more one more thing to explain so I mean I think we can we can demo this one I mean okay yeah please go back and if I go to the data rector I'm gonna say is like data rector fetch accounts with specific record type okay click save checking that I just need to go on the account object and let me check if I have any record type on the account so I don't have any record type I thought I'll create a new one quickly let me call it as as gts again make available for all the profiles if I go back to my data rector and so we're gonna follow the same step get the account records declare the variable name or the list name and we're gonna say active is equals to yes again I mean I'm using this variable name for filtering the data so that it becomes your practice otherwise otherwise we will always be using the hard-coded values that is why I'm not giving any hard-coded values in the demo as well now if I click and so now what we can so what we can do is just type record type right so for fetching the for fetching the account records for a specific record type or fetching the objects with the specific record type there are two things that we can do is first what we can do is we can use the hard-coded ID right equals and give the hard-coded ID and if I go here create the output mapping like I'm gonna just give get the name of account name colon name and now if I go to preview I have to give the param yes it execute so as you can see I don't have any record with the with this record type ID right so let me go to the accounts and create one record as GTS that type and save it I'll go to the data again and in the preview I'm going to click execute what type ID is equals to this wait a second I'll copy the correct component I think so okay let me do one thing I'm gonna say select ID from accounts and give me the record type ID as a record type ID so this is the record type ID I think is that I copied right as you can see you have to give the 15 character 18 I guess yeah sorry 18 my bad and now if I go to preview and click execute so again I got it this is happening because the active of this one is not yes okay now you can see we are having this record fetched with the record type ID right but there is a there is a problem with it I mean when you will be deploying this data after to your next environment which can be your QA environment which can be your SID environment or fraud environment then this record type ID will not be the same and as you have hard-coded this record type ID over here if you will deploy this data after to your next environment you always have to update this record type ID correct so this is your this is this is one way of doing it but this is not with the best practices so what we're gonna do is what we're gonna do is we gonna say so I mean if you want to fetch your account record with a specific record type and if you want to use the developer name of that record type right so you have to what you can do is you just remove the ID so okay let me do I'll show you the select ID from record type and if I click execute these are the four record types I'm getting right now and if I'm I'll give I'll take the developer name but this is a this is a field on your developer name on your record type so as you can see we have this as just as JTS okay and now if I go back to my data raptor so what I have to do is I have to type this developer name and in this I'm gonna say as GTS okay so and now if I go to preview and click execute I'm still getting the as just as JTS the record which we created from the as JTS record type so that thing that I wanted to explain you guys was the way we are fetching the information from I mean so I mean from your child to parent right like if I take the example of contact on account we said account or name similar way these sort of things we can use in your filter criteria as well right so what we have done is every every object has a record type ID field created on on that object by default with the Salesforce so from from so in that in that case account is your child and record type object is your parent right so what we have done is record type is your parent object so we have used the dot operator and for getting the parent object field we have said developer name and developer name should be equals to as it here so this this is this is one of the example for for where we are using the child to parent relationship not in the output tab only we can use and use it into the filter criteria right okay it was quite impressive so I mean in this example if Sanjay what do you think I mean do you have any sort of confusion no I think it is clear and straightforward and like developer name will be intact across the environments so guys use developer name instead of ID in case of record type because when we deploy record type from one environment to another so ID changes but developer name will be intact right and that should be enclosed in single quotes so yeah and to understand it more clearly just do it in your org this is what I can say yeah so there is one question from Amar so he's asking like in debug log it is showing record limit is 50,000 so he's asking what if we want to fetch more than 50,000 is there any way so I mean by default only studio gives the limit of only 50,000 we can we can increase it by raising the case with the sales force okay so I think Amar this answers your question so to increase the limit we need to raise the case then only it can be done right so I think this is it for today's session so yeah like Abhishek covered lots of scenarios and if you can show the slide again so people can take a screenshot for practice purpose and this weekend I will be creating a session like exercise sheet so there I will put all these examples day-wise that you can practice and Abhishek I think we have couple of more slides where a few more examples are available like formula and input parameter so maybe in our next session we can cover any anyone from those yeah okay so if you have any more question you can ask in the chat and just just want to highlight one comment from Richard and I'm very happy to hear this so he's saying whatever I am today is because of you two year two years ago I started watching your C++ playlist and as a mechanical engineer and now I made it to Deloitte in my final year so this this this makes me happy and in live chat this kind of comment or like testimonial I received for the first time so I'm really very happy like Richard because of my efforts like it changed your stream from mechanical to IT and you you got some interest in CSN IT branch being mechanical engineer so mechanical engineer is also having lots of opportunity but I'm sure like by watching those videos you got enough interest in this stream so that you were able to understand the concepts and now you will be part of Deloitte so I'm very happy and this is perfect example of consistency I think I can I can imagine like lots of efforts you might have done lots of practice you have done so this this will be like motivation for other folks as well those who are struggling to get a job so I really appreciate your efforts as well along with my videos because your efforts are very much important on internet lots of content is available but if you do a proper efforts in right direction so any anyone can get a job so thank you for appreciating the efforts and thank you Abhishek for explaining all the examples in such a way so that now following this stream live stream people will be able to implement and guys please implement all those questions so that you can understand the problems right so with this note we end today's session here only so once again thank you for joining this session those who are watching the recording thanks to you as well and special thanks to Abhishek so we'll be connecting next week with data rector one session and then we'll be starting IP okay so thank you everyone see you next week


We're out here doing fleet OD competency checkpoints where we're bringing the waterfront OD's first tour division officers into the trainer to set scenario where it's light to medium traffic density and covers a lot of the things they would see as a qualified officer the tech standing to watch. Well, there's a number of different objective assessments that are going on. Those are based on a rubric of rules of road knowledge, rules of road application, bridge resource management, team leadership on the bridge, as well as ship handling. So for the individual junior officer going through the competency checkpoint, there is immediate feedback. He sits down with my senior assessor and goes through his strengths and weaknesses that were demonstrated in the examination portion and also in the virtual reality simulation. The second type of feedback is there is immediate feedback that goes from my senior assessor directly to that ship's commanding officer. And then, you know, it's up to the co that to maybe do targeted training for some of the areas that might need improvement or maybe just confirmation that that is his OD is meeting performance standards. And then the last piece is there will be a formalization of the data, all the trends that will go up to our type commander by Samuel Brown for for his awareness. You know, I think you're going to see a lot of people just kind of be like, wow, you know, it's it's perishable knowledge. It really is.  This is really going to give us that that no kidding baseline of of how we're performing out there as ODs.  And so I this is this is critical to really continuing on with the other initiatives really getting that snapshot. Where are we at? Naturally, one would think that these assessments are punitive or in an effort to thin the herd and that's not at all what these assessments are. These assessments are a collective embrace of some of our challenges in the surface force that perhaps have been revealed over the course of this past year taking a hard look at those and figuring out a way where we can get at some of these training shortfalls and collectively rise together.


Lions. Speaking of instigating war, it's starting to look like America's forcing Russia hand into war. I'm starting to be really suspicious of the US involvement in the Ukraine situation. Then they seem far too eager. They seem eager, but I don't think Russia is going to... Lions, I don't think Russia is going to take the bait. They won't. The only way Russia hits Ukraine is if Ukraine starts killing off the citizens of Dunbar, okay, Eastern Ukraine. If they start going in there and start killing people, Russia has the right to go in to defend the civilian population. Okay, but I don't think they're going to take the bait.   We're not going to die for the oligarchs and for the Biden administration, right? NATO countries have already said they're not going to join it. No effing way they're going to join it. Germany's one of them, right?  Canada will not go to war in the Ukraine, not by a long shot. So this kicks into the Federal Reserve interest rates and digital current. This fits into everything, by the way, right? They're playing on a lot of fronts right now. I think they're playing a game, right? Oil has gone through the roof right now, sitting at like $92 a barrel. So the oil tycoons, the Wall Street and stuff like this, they're liking it, right? But when oil goes to these levels, especially if it breaks $100, right? The economy is going to grind to a halt, like crash and burn, right?