# Safeguarding - codelists? **Category:** [open forum](https://openhealthhub.org/c/open-forum/9) **Created:** 2021-09-29 16:21 UTC **Views:** 1637 **Replies:** 22 **URL:** https://openhealthhub.org/t/safeguarding-codelists/2492 --- ## Post #1 by @alexwren Is there a definitive and recognised source of SNOMED, Safeguarding concepts used to create patient Safeguarding lists in GP Practices? I'm looking to find out if there is a standardised list of concepts that identify patients as being listed on a safeguarding list or put another way if a patient was to be put on to a safeguarding list what code(s) would someone add? I'm aware of the RCGP - Safeguarding guidance/list that details concepts as EMIS and/or SystmOne concepts but it feels like time has moved on since the creation of the document in 2017. (https://www.rcgp.org.uk/clinical-and-research/resources/toolkits//-/media/Files/CIRC/Toolkits-2017/Safeguarding-adults-at-risk-Toolkit/RCGP-Safeguarding-Coding-Information-June-2017.ashx) For example the RCGP list notes 'Vulnerable Adult'. In SNOMED, 417430008 |Vulnerable adult (finding)| 'has child' '247811000000108 |Vulnerable elderly person (finding)|' which is not listed in the RCGP document. Extending to include the latter concept seems reasonable but I'm looking for assurance this approach might be matched in the real world. Any insight in to this area would be greatly received. --- ## Post #2 by @pacharanero Hi @alexwren and good question. I'm not aware that the RCGP guidance has been updated. (There is other, older, RCGP guidance which hasn't been updated, but I'm happy to take this prompt to look into how to update it) Not directly related to SNOMED Code Lists but there is some current work going on to try to bring CP-IS ([Child Protection Information Sharing](https://www.england.nhs.uk/safeguarding/workstreams/child-protection-information-sharing-system/), a Spine service which 'lives' inside the Summary Care Record application SCRa) closer into GP systems so that: firstly, CP-IS information is natively visible in the GP clinical system, and secondly that GPs are easily able to update and add to the CP-IS data. There are a load of shared CodeLists (but sadly none that seem to be relevant to Safeguarding) in the OpenSAFELY project: https://www.opencodelists.org/ --- ## Post #3 by @john.salter Hi @alexwren Sounds like it needs its own ref set in SNOMED perhaps? There is a small one there already but its not GP specific and only has 46 terms which doesn't seem like many for such a complex area. 999002381000000108 |Safeguarding issues simple reference set (foundation metadata concept)| --- ## Post #4 by @mayfield.g.kev Re refset. Have you tried this tool for exploring? shrimp https://ontoserver.csiro.au/shrimp/?concept=446609009&version=http%3A%2F%2Fsnomed.info%2Fsct%2F83821000000107%2Fversion%2F20210901&valueset=http%3A%2F%2Fsnomed.info%2Fsct%2F83821000000107%3Ffhir_vs&fhir=https%3A%2F%2Fontology.nhs.uk%2Fproduction1%2Ffhir You may need to register (I don't know why you need to register, the international ones don't need it) --- ## Post #5 by @mayfield.g.kev I find it a lot easier to browse than some other tools, it's more like how easy read code browsers were in the old days.... --- ## Post #6 by @alexwren Thanks @pacharanero . I hadn't looked too much at the CP-IS detail before so I'll take a look. I'd looked at the the Open Codelists previously. Perhaps I'll take the leap and see if it'd be of use to publish our attempt of a Safeguarding code list on there (with supporting authoring policy etc.) at least someone else looking in the future may have a starting point. I cant be the only one attempting this. @john.salter Yes! Thank you. It looks a bit unloved as a reference set but I did try and leverage its use. It didn't look to include 'obvious' Safeguarding concepts I'd expected to see in there (e.g. 766561000000109 |Adult safeguarding concern (finding)|). I've not looked at the background at how it's been created to know if it's relevant to my use case but its good there's something there. @mayfield.g.kev Thanks, I'll admit the SNOMED browser is my Google default for viewing concepts although I'm aware there have been some issues with viewing retired/active concepts. --- ## Post #7 by @mayfield.g.kev The link I posted above is for the new one. Not sure what's happening with the termbrowser but I find the new one a lot easier to use --- ## Post #8 by @pacharanero A colleague in the RCGP Health Informatics Group signposted me to this resource in the public domain https://www.scimp.scot.nhs.uk/better-information/clinical-coding/child-protection-codes-v1-0-june-2012 The code list is in Read V2 (because that's what they use in Scotland) but there are available forward mapping tables (in the NHS TRUD I believe) which can take Read V2 and map to clinically assured CVT3 and then SNOMED-CT equivalents. --- ## Post #9 by @alexwren Thanks for your help Marcus. Much appreciated. If I find the time I'll author it in SNOMED and post it as an open code list. --- ## Post #10 by @MicSha Hello Alex, I am already doing a big piece of work on this sort of this - pls could you email me? young_mm@msn.com (dont want to put my nhs.net online) Thanks Michelle --- ## Post #11 by @alexwren Hi Michelle. I've just emailed you. --- ## Post #12 by @pacharanero Could I ask that if there are any useful products of the offline discussion they are shared here in the forum please? It's super helpful to the community that more of these pieces of work are published openly so that we reduce duplication of effort across the informatics community. It's one of the primary reasons I started this forum, because this stuff isn't shared enough! --- ## Post #13 by @alexwren Sure - sometimes it can feel like shouting into the abyss. FWIW - I have converted the Scottish Read v2 list in to SNOMED and done the same for the RCGP list (both referenced above). I've contacted opencodelists to see if they'd like to publish them, awaiting response. If anyone would like them, just let me know, happy to share and give you an idea of how I created them. I may need to re-author in line with future SNOMED releases. Things change! Some potential issues for anyone attempting the same: The Read v2 to SNOMED map is no longer maintained so some maps are to retired SNOMED concepts. For example, the Read v2 concept, '13ZR. - At risk of emotional/psychological abuse' walks to 416142000 |At risk of emotional/psychological abuse (finding)| which is retired. I can get around this by including/assessing the equivalent live concept(s) via the SNOMED historical substitution tables which in the above example are: 'is possibly equivalent to': 771983008 |At risk of psychological abuse (finding)| 771984002 |At risk of emotional abuse (finding)| That comes with a warning - only use these concepts if they fit your use case. -- Some mapped terms may not be equivalent for your use case. For example: Read v2 - 'U3M1. Neglect and abandonment, by parent' maps to the SNOMED concept: 52684005 |Assault (event)| -- SNOMED can be broader. For example: Read v2 'ZV1A3 - [V]Maternal family history of drug addiction' walks to '160327004 |Family history: Drug dependency (situation)|' Maternal now relates to family. -- SNOMED may have child or other concepts worth being aware of if creating a list of reference terms. Reliance on a the map may not give you complete coverage. For example: Read v2 - '13II. - Child deserted by parents' walks to '266954003 |Child deserted by parents (finding)|' which also has the child SNOMED concept: 276098002 |Child deserted by mother (finding)|. (Note: there isn't a father equivalent at the time of writing). You may not want to limit your reference terms to just the equivalent mapped concept. -- With the RCGP list, the concepts are listed as EMIS and SytmOne concepts. As such the conversion to SNOMED is a more of a manual task that is open to interpretation but I have a list that may be a good starting point for anyone looking for one. Some similar areas to be aware of exist. Consider retired concepts. Consider other concepts in SNOMED not just the immediate seemingly mirrored concept. -- The above is related to anything in SNOMED really but the starting point for me is always why I'm gathering the concepts for use. I've no idea if any of that is helpful, hopefully it was! --- ## Post #14 by @pacharanero This is great stuff @alexwren May I ask what you use to do the mapping process? It feels like there *should* be some helpful programming language libraries that could help out with the mapping, but I suspect it's a manual task. Would anyone be interested in trying to make something though? I don't have experience of forward mapping in practice but I can supply the programming expertise to build something. I was also thinking of asking if anyone at OpenSAFELY would want to join in with such an endeavour. Clearly there would have to be caveats to the conversion and the codes would need manual review to ensure fitness for purpose, but that's no reason that we can't try to make that process easier and automate the parts that can be automated! --- ## Post #15 by @alexwren In this instance I've used the Read v2 to SNOMED UK map (https://hscic.kahootz.com/connect.ti/t_c_home/view?objectId=407588&exp=e1). I have a version of the Read v2 to SNOMED map full data files that were released on TRUD that can be used to support walking between the terminologies and was my starting point in this instance to suggest the appropriate SNOMED concepts. You could do this mapping again and given the time that has passed between the Read v2 to SNOMED map being produced, this isn't a bad idea. I started with the production map as I needed it to be referenceable. I am fortunate that I've got some internal tooling that is great for this sort of mapping and maintenance task. I’ll happily investigate at my end to see if there’s a way we can share some of the tooling ability for people to use so they can start to understand the complexities of the process. Mapping, much like authoring reference term lists, is always a need driven task and maps produced for one use case may not be transferable to another. It’s fairly easy for me to keep the SNOMED Safeguarding concepts up-to-date so if they are of use to anyone, just get in touch. --- ## Post #16 by @pacharanero [quote="alexwren, post:15, topic:2492"] if they are of use to anyone, just get in touch. [/quote] @alexwren would you consider posting them publicly on here, on in a GitHub repo? (suitably Caveat Emptor'd of course) When I look at how we handle refsets (which are the equivalent of 'pharmaceutical compounds' for informaticians) it really feels we're still in the age of 'mixing up our own drugs in the GP pharmacy' like a scene from James Herriot. We need open tooling to supercharge the abilities of informaticians. All of the benefits of modern therapeutics come from safe, standardised, reliable medications which can be studied and improved on. Informatics is still hand-prepping Tincture of Something Latin-named in the back rooms... --- ## Post #17 by @mayfield.g.kev This might be useful to look at the ontology server which NHS Digital is hosting. It does away with using TRUD and a number of codesystems and valuesets are already preloaded. ![image|407x282](upload://nmKb8hwX0brmZCrAtxsyAJYa5QJ.png) The snapper app does look like it will allow you to create a concept map. https://ui.ontology.nhs.uk/snapper/?#/ The shrimp app should allow you to browse. https://ontoserver.csiro.au/shrimp/?concept=138875005&valueset=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs&fhir=https%3A%2F%2Fontology.nhs.uk%2Fproduction1%2Ffhir --- ## Post #18 by @alexwren I'll try and get something on to GitHub and post a link back here when done. It looks like the OpenCodelists are limited to PRIMIS and OPENSafely at the moment (understandable) and its an area they are developing to enable sharing. I think some refsets are definable and reusable. Something like QOF fits nicely as theoretically everyone is working off the same page for a calculated result. I think others will always require an amount of tweaking dependant the use case but I do think sharing them is still valuable to share how you have ended up where you have and preventing some level of re-work. --- ## Post #19 by @pacharanero Do we have a good, simple, interoperable and most of all **understandable** standard for refsets? I don't know of one, so could one be made? OpenSAFELY's refsets and metadata are handled in their DB, hence it is somewhat coupled to their application (which I think is Django) ### Simple refset spec (RFC) * A **single** flat file, editable anywhere including text editors and GitHub * Metadata as YAML in 'front matter' (fenced off with `---` perhaps?) * Content is a list of SCTIDs with the text portion (as 'comment'? or should that be dynamically filled by the tooling) But the file should be understandable in itself without reference to an external service, and human readable always. * Syntax to expand graph hierarchy of SNOMED, including or excluding specific SCTIDs (although I've always thought that having to specifically exclude some terms defeats the utility of the inheritance/parent-child feature of SNOMED) * Capability to 'include' or 'import' other refsets by file path or by URL or some other web repository mechanism (think like NPM, RubyGems, PyPi, etc) and specific versions * Versioning handled in metadata * Proper usage, intended purpose and "mis-use-cases" made very clear in the metadata * Tolerates comments within the SCTID list, to enable them to be tidily collected Am I totally off the mark even wanting this? It feels unless we have a simple, human-readable, understandable, interchangeable way to store, manipulate and handle the refsets we will never get anywhere. Thoughts? --- ## Post #20 by @ian FHIR Valuesets give you most of this AFAIK @Marcus either for storage on a FHIR terminology service (or a simple Valueset store like HAPI-FHIR) or just as a set of JSON files. Becoming industry-standard. Can handle mixed terminology valuesets (I know!!), nesting. https://simplifier.net/guide/HL7FHIRUKCoreR4Release1/Home/Terminology/AllValueSets/ValueSetUKCoreMedicationDosageMethod.guide.md and look for the JSON example. --- ## Post #21 by @ian * Syntax to expand graph hierarchy of SNOMED, including or excluding specific SCTIDs (although I’ve always thought that having to specifically exclude some terms defeats the utility of the inheritance/parent-child feature of SNOMED)" In reality, once you get out of things like substance and diagnosis, the hierarchies in SCT get very messy and potentially risky, if your selections trigger some kind of CDSS. You also have no control over what is being added to the codeSystem -the additions may not be wrong ontologically but can cause major clinical safety/application issues. FHIR Valuesets do support some limited 'subsumption' etc but I tend to avoid in application building unless it is true broad refset underneath like 'any diagnosis' Our experience in that you almost always want to lock these things down at deployment level. --- ## Post #22 by @mayfield.g.kev [quote="ian, post:20, topic:2492"] and look for the JSON example. [/quote] This is a simple list example. https://github.com/NHSDigital/NHSDigital-FHIR-ImplementationGuide/blob/master/ValueSet/ValueSet-covid-19-detection-of-antibody.json It can be posted to an ontology server (e.g. the NHS Ontoserver) to use with more complex queries. --- ## Post #23 by @pacharanero Ah cool thanks for that. I will take a look. I am lacking in practical SNOMED experience, just trying to see how the programming world can more easily integrate with the informatics. --- **Canonical:** https://openhealthhub.org/t/safeguarding-codelists/2492 **Original content:** https://openhealthhub.org/t/safeguarding-codelists/2492