diff --git a/src/lib/components/app/ResourceSelector.svelte b/src/lib/components/app/ResourceSelector.svelte
index 34803e7..f83fa39 100644
--- a/src/lib/components/app/ResourceSelector.svelte
+++ b/src/lib/components/app/ResourceSelector.svelte
@@ -27,6 +27,8 @@
import AdvanceDirective from '$lib/components/resource-templates/AdvanceDirective.svelte';
import AllergyIntolerance from '$lib/components/resource-templates/AllergyIntolerance.svelte';
import Condition from '$lib/components/resource-templates/Condition.svelte';
+ import Device from '$lib/components/resource-templates/Device.svelte';
+ import DeviceUseStatement from '../resource-templates/DeviceUseStatement.svelte';
import DiagnosticReport from '$lib/components/resource-templates/DiagnosticReport.svelte';
import Encounter from '$lib/components/resource-templates/Encounter.svelte';
import Immunization from '$lib/components/resource-templates/Immunization.svelte';
@@ -49,6 +51,8 @@
"AllergyIntolerance": AllergyIntolerance,
"Condition": Condition,
"Consent": AdvanceDirective,
+ "Device" : Device,
+ "DeviceUseStatement": DeviceUseStatement,
"DiagnosticReport": DiagnosticReport,
"DocumentReference": AdvanceDirective,
"Encounter": Encounter,
diff --git a/src/lib/components/resource-templates/Device.svelte b/src/lib/components/resource-templates/Device.svelte
new file mode 100644
index 0000000..70e0507
--- /dev/null
+++ b/src/lib/components/resource-templates/Device.svelte
@@ -0,0 +1,38 @@
+
+
+{#if resource.type}
+ {#if resource.type.coding}
+ {resource.type.coding[0].system} : {resource.type.coding[0].code}
+
+ {/if}
+{/if}
+{#if resource.type?.text}
+ {(codingMap.set(resource.type.text, 1) && undefined) ?? ""}
+ {resource.type.text}
+{/if}
+{#if resource.type?.coding}
+ {#each resource.type.coding as coding, index}
+ {#if !resource.type?.text && index == 0}
+
+ {#if coding.display && !codingMap.get(coding.display)}
+ {(codingMap.set(coding.display, 1) && undefined) ?? ""}
+ {coding.display}
+ {/if}
+
+ {:else}
+ {#if coding.display && !codingMap.get(coding.display)}
+ {(codingMap.set(coding.display, 1) && undefined) ?? ""}
+ {coding.display}
+ {/if}
+ {/if}
+ {/each}
+{/if}
diff --git a/src/lib/components/resource-templates/DeviceUseStatement.svelte b/src/lib/components/resource-templates/DeviceUseStatement.svelte
new file mode 100644
index 0000000..baf96cc
--- /dev/null
+++ b/src/lib/components/resource-templates/DeviceUseStatement.svelte
@@ -0,0 +1,39 @@
+
+
+{resource.status ? `${resource.status}` : ''}
+
+
+{#if device}
+
+{:else if resource.device?.display}
+ {resource.device?.display}
+
+{/if}
diff --git a/src/lib/components/resource-templates/MedicationRequest.svelte b/src/lib/components/resource-templates/MedicationRequest.svelte
index d5c7c6e..bcd676f 100644
--- a/src/lib/components/resource-templates/MedicationRequest.svelte
+++ b/src/lib/components/resource-templates/MedicationRequest.svelte
@@ -43,10 +43,9 @@
{/if}
{#if resource.medicationCodeableConcept.coding[0].display}
{resource.medicationCodeableConcept.coding[0].display}
- {:else if resource.medicationCodeableConcept.text}
- {resource.medicationCodeableConcept.text}
{/if}
- {:else if resource.medicationCodeableConcept.text}
+ {/if}
+ {#if resource.medicationCodeableConcept.text}
{resource.medicationCodeableConcept.text}
{/if}
{/if}
diff --git a/src/lib/components/resource-templates/MedicationStatement.svelte b/src/lib/components/resource-templates/MedicationStatement.svelte
index ece966b..b0c56f1 100644
--- a/src/lib/components/resource-templates/MedicationStatement.svelte
+++ b/src/lib/components/resource-templates/MedicationStatement.svelte
@@ -36,13 +36,9 @@
{#if resource.medicationCodeableConcept.coding[0].display}
{resource.medicationCodeableConcept.coding[0].display}
- {:else if resource.medicationCodeableConcept.text}
- {resource.medicationCodeableConcept.text}
- {/if}
- {:else if resource.medicationCodeableConcept.text}
- {#if resource.status}
-
{/if}
+ {/if}
+ {#if resource.medicationCodeableConcept.text}
{resource.medicationCodeableConcept.text}
{/if}
{/if}
diff --git a/src/lib/components/viewer/IPSContent.svelte b/src/lib/components/viewer/IPSContent.svelte
index cc6de39..c644d8d 100644
--- a/src/lib/components/viewer/IPSContent.svelte
+++ b/src/lib/components/viewer/IPSContent.svelte
@@ -26,6 +26,8 @@
import AllergyIntolerance from '$lib/components/resource-templates/AllergyIntolerance.svelte';
import Condition from '$lib/components/resource-templates/Condition.svelte';
import Consent from '$lib/components/resource-templates/Consent.svelte';
+ import Device from '$lib/components/resource-templates/Device.svelte';
+ import DeviceUseStatement from '$lib/components/resource-templates/DeviceUseStatement.svelte';
import DiagnosticReport from '$lib/components/resource-templates/DiagnosticReport.svelte';
import Encounter from '$lib/components/resource-templates/Encounter.svelte';
import Immunization from '$lib/components/resource-templates/Immunization.svelte';
@@ -39,11 +41,14 @@
import Practitioner from '$lib/components/resource-templates/Practitioner.svelte';
import Procedure from '$lib/components/resource-templates/Procedure.svelte';
import OccupationalData from '$lib/components/resource-templates/OccupationalData.svelte';
+ import QuestionnaireResponse from '$lib/components/resource-templates/QuestionnaireResponse.svelte';
const components: Record = {
"AllergyIntolerance": AllergyIntolerance,
"Condition": Condition,
"Consent": Consent,
+ "Device" : Device,
+ "DeviceUseStatement": DeviceUseStatement,
"DiagnosticReport": DiagnosticReport,
"DocumentReference": AdvanceDirective,
"Encounter": Encounter,
@@ -58,7 +63,8 @@
"Practitioner": Practitioner,
"Procedure": Procedure,
"Occupational Data": OccupationalData,
- "Advance Directives": AdvanceDirective
+ "Advance Directives": AdvanceDirective,
+ "QuestionnaireResponse": QuestionnaireResponse
};
interface IpsContent {