@@ -47,6 +47,36 @@ function getConditionsFromContext(context) {
4747 return conditionsResourcesInContext ;
4848}
4949
50+ /**
51+ * Parses context for AdverseEvent resources
52+ * @param {Object } context - Context object consisting of a FHIR Bundle
53+ * @return {Array } All the AdverseEvent resources found in context
54+ */
55+ function getAdverseEventsFromContext ( context ) {
56+ logger . debug ( 'Getting adverse event resources from context' ) ;
57+ const adverseEventResourcesInContext = getBundleResourcesByType ( context , 'AdverseEvent' , { } , false ) ;
58+ if ( _ . isEmpty ( adverseEventResourcesInContext ) ) {
59+ throw Error ( 'Could not find any adverse events in context; ensure that an AdverseEventExtractor is used earlier in your extraction configuration' ) ;
60+ }
61+ logger . debug ( `AdverseEvent resources found in context. Found ${ adverseEventResourcesInContext . length } adverse event resources.` ) ;
62+ return adverseEventResourcesInContext ;
63+ }
64+
65+ /**
66+ * Parses context for AdverseEvent entries, which themselves contain resources
67+ * @param {Object } context - Context object consisting of a FHIR Bundle
68+ * @return {Array } All the AdverseEvents entries found in context
69+ */
70+ function getAdverseEventEntriesFromContext ( context ) {
71+ logger . debug ( 'Getting adverse event entries from context' ) ;
72+ const adverseEventEntriesInContext = getBundleEntriesByResourceType ( context , 'AdverseEvent' , { } , false ) ;
73+ if ( adverseEventEntriesInContext . length === 0 ) {
74+ throw Error ( 'Could not find any adverse events in context; ensure that an AdverseEventExtractor is used earlier in your extraction configuration' ) ;
75+ }
76+ logger . debug ( `AdverseEvent entries found in context. Found ${ adverseEventEntriesInContext . length } adverse event resources.` ) ;
77+ return adverseEventEntriesInContext ;
78+ }
79+
5080/**
5181* Parses context for Encounter resources
5282* @param {Object } context - Context object consisting of a FHIR Bundle
@@ -78,4 +108,6 @@ module.exports = {
78108 getEncountersFromContext,
79109 getPatientFromContext,
80110 getResearchStudiesFromContext,
111+ getAdverseEventEntriesFromContext,
112+ getAdverseEventsFromContext,
81113} ;
0 commit comments