diff --git a/src/lib/FetchAD.svelte b/src/lib/FetchAD.svelte
index 8f086343..ab4acdfa 100644
--- a/src/lib/FetchAD.svelte
+++ b/src/lib/FetchAD.svelte
@@ -348,46 +348,46 @@
             let adipmoBundle = await fetchResourceByUrl(adipmoBundleUrl);
             let adipmoBundleJson = await adipmoBundle.json();
 
-            let serviceRequests = adipmoBundleJson.entry.filter((entry:BundleEntry) => entry.resource?.resourceType === 'ServiceRequest');
+            let serviceRequests = adipmoBundleJson.entry.filter((entry: BundleEntry) => entry.resource?.resourceType === 'ServiceRequest');
 
-            // TODO The next 4 sections should be generalized into an iteration, just need carve out for "detail" for 2.
-
-            // That bundle will include ServiceRequest resources; look for the one for CPR (loinc 100822-6) 
-            const serviceRequestCpr = serviceRequests.find((resource: ServiceRequest) => {
-              return resource.category?.[0].coding?.[0].code === '100822-6';
-            });
-            dr.isCpr = serviceRequestCpr !== undefined;
-            dr.doNotPerformCpr = serviceRequestCpr.resource.doNotPerform;
+            // That bundle will include ServiceRequest resources; look for the one for CPR (loinc 100822-6)
+            // then set the appropriate flags in the DR
+            (
+              {
+                exists: dr.isCpr,
+                doNotPerform: dr.doNotPerformCpr
+              } = digestServiceRequestByCode(serviceRequests, '100822-6')
+            );
 
             // That bundle will include ServiceRequest resources; look for the one for "Initial portable medical treatment orders" (loinc 100823-4) aka Comfort Treatments
-            const serviceRequestComfortTreatments = serviceRequests.find((resource: ServiceRequest) => {
-              return resource.category?.[0].coding?.[0].code === '100823-4';
-            });
-            dr.isComfortTreatments = false;
-            if (serviceRequestComfortTreatments !== undefined) dr.isComfortTreatments = true;
-            dr.doNotPerformComfortTreatments = serviceRequestComfortTreatments.resource.doNotPerform && serviceRequestComfortTreatments.resource.doNotPerform == true;
-
-            dr.detailComfortTreatments = serviceRequestComfortTreatments.resource.note[0].text;
+            // then set the appropriate flags in the DR
+            (
+              {
+                exists: dr.isComfortTreatments,
+                doNotPerform: dr.doNotPerformComfortTreatments,
+                detail: dr.detailComfortTreatments
+              } = digestServiceRequestByCode(serviceRequests, '100823-4')
+            );
 
             // That bundle will include ServiceRequest resources; look for the one for "Additional..." (loinc 100824-2)
-            const serviceRequestAdditionalTx = serviceRequests.find((resource: ServiceRequest) => {
-              return resource.category?.[0].coding?.[0].code === '100824-2';
-            });
-            dr.isAdditionalTx = false;
-            if (serviceRequestAdditionalTx !== undefined) dr.isAdditionalTx = true;
-            dr.doNotPerformAdditionalTx = serviceRequestAdditionalTx.resource.doNotPerform && serviceRequestAdditionalTx.resource.doNotPerform == true;
-
-            dr.detailAdditionalTx = serviceRequestAdditionalTx.resource.orderDetail[0].text;
+            // then set the appropriate flags in the DR
+            (
+              {
+                exists: dr.isAdditionalTx,
+                doNotPerform: dr.doNotPerformAdditionalTx,
+                detail: dr.detailAdditionalTx
+              } = digestServiceRequestByCode(serviceRequests, '100824-2')
+            );
 
             // That bundle will include ServiceRequest resources; look for the one for "Medically assisted nutrition orders" (loinc 100825-9)
-            const serviceRequestMedicallyAssisted = serviceRequests.find((resource: ServiceRequest) => {
-              return resource.category?.[0].coding?.[0].code === '100825-9';
-            });
-            dr.isMedicallyAssisted = false;
-            if (serviceRequestMedicallyAssisted !== undefined) dr.isMedicallyAssisted = true;
-            dr.doNotPerformMedicallyAssisted = serviceRequestMedicallyAssisted.resource.doNotPerform && serviceRequestMedicallyAssisted.resource.doNotPerform == true;
-
-            dr.detailMedicallyAssisted = serviceRequestMedicallyAssisted.resource.orderDetail[0].text;
+            // then set the appropriate flags in the DR
+            (
+              {
+                exists: dr.isMedicallyAssisted,
+                doNotPerform: dr.doNotPerformMedicallyAssisted,
+                detail: dr.detailMedicallyAssisted
+              } = digestServiceRequestByCode(serviceRequests, '100825-9')
+            );
           }
         }
       });
@@ -414,6 +414,23 @@
       fetchError = 'Error preparing IPS';
     }
   }
+
+  interface ServiceRequestProperties {
+    exists: boolean;
+    doNotPerform?: boolean;
+    detail?: string;
+  }
+
+  function digestServiceRequestByCode(srs: ServiceRequest[], code: string): ServiceRequestProperties {
+    const serviceRequest = srs.find((resource: ServiceRequest) => {
+      return resource.category?.[0].coding?.[0].code === code;
+    });
+    return {
+      exists: serviceRequest !== undefined,
+      doNotPerform: serviceRequest?.doNotPerform === true,
+      detail: serviceRequest?.note?.[0].text
+    };
+  }
 </script>
 
 <form on:submit|preventDefault={() => prepareIps()}>