diff --git a/src/lib/components/app/ResourceSelector.svelte b/src/lib/components/app/ResourceSelector.svelte index 70ef404..6c6b31d 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 {