@@ -11,7 +11,7 @@ export class PrefetchTemplate {
1111 ) ;
1212 const PATIENT_PREFETCH = new PrefetchTemplate ( '{{context.patientId}}' ) ;
1313
14- const PHARMACY_PREFETCH = new PrefetchTemplate ( 'Organization/pharm0111 ' ) ;
14+ const PHARMACY_PREFETCH = new PrefetchTemplate ( 'Organization/{{context.pharmacyId}} ' ) ;
1515
1616 const ALL_REQUESTS_PREFETCH = new PrefetchTemplate (
1717 'MedicationRequest?subject={{context.patientId}}&_include=MedicationRequest:medication'
@@ -52,32 +52,38 @@ export class PrefetchTemplate {
5252 return paramElementMap ;
5353 }
5454
55- static generateQueries ( requestBundle , patientReference , userReference , ...prefetchKeys ) {
56- var resolvedQueries = new Map ( ) ;
57- for ( var i = 0 ; i < prefetchKeys . length ; i ++ ) {
58- var prefetchKey = prefetchKeys [ i ] ;
59- var query = prefetchMap . get ( prefetchKey ) . getQuery ( ) ;
55+ static generateQueries ( requestBundle , patientReference , userReference , pharmacyId , ...prefetchKeys ) {
56+ var resolvedQueries = new Map ( ) ;
57+ for ( var i = 0 ; i < prefetchKeys . length ; i ++ ) {
58+ var prefetchKey = prefetchKeys [ i ] ;
59+ var query = prefetchMap . get ( prefetchKey ) . getQuery ( ) ;
6060 // Regex source: https://regexland.com/all-between-specified-characters/
61- var parametersToFill = query . match ( / (?< = { { ) .* ?(? = } } ) / gs) ;
62- var resolvedQuery = query . slice ( ) ;
61+ var parametersToFill = query . match ( / (?< = { { ) .* ?(? = } } ) / gs) ;
62+ var resolvedQuery = query . slice ( ) ;
6363 for ( var j = 0 ; j < parametersToFill . length ; j ++ ) {
6464 var unresolvedParameter = parametersToFill [ j ] ;
6565 var resolvedParameter ;
6666 if ( requestBundle ) {
67- resolvedParameter = PrefetchTemplate . resolveParameter ( unresolvedParameter , requestBundle ) ;
67+ if ( unresolvedParameter === 'context.pharmacyId' ) {
68+ resolvedParameter = pharmacyId ;
69+ } else {
70+ resolvedParameter = PrefetchTemplate . resolveParameter ( unresolvedParameter , requestBundle ) ;
71+ }
6872 } else {
6973 if ( unresolvedParameter === 'context.patientId' ) {
7074 resolvedParameter = patientReference ;
7175 } else if ( unresolvedParameter === 'context.userId' ) {
7276 resolvedParameter = userReference ;
77+ } else if ( unresolvedParameter === 'context.pharmacyId' ) {
78+ resolvedParameter = pharmacyId ;
7379 }
7480 }
7581 resolvedQuery = resolvedQuery . replace ( '{{' + unresolvedParameter + '}}' , resolvedParameter ) ;
7682 }
77- resolvedQueries . set ( prefetchKey , resolvedQuery ) ;
78- }
79- return resolvedQueries ;
83+ resolvedQueries . set ( prefetchKey , resolvedQuery ) ;
8084 }
85+ return resolvedQueries ;
86+ }
8187
8288 // Source: https://www.tutorialspoint.com/accessing-nested-javascript-objects-with-string-key
8389 static getProp ( object , path ) {
0 commit comments