- <div id="patientCollection">
- <div id="patientCollectionBody">
- <dx-scroll-view #scrollView>
- <div id="pcTitle" style="padding-top: 30px; padding-left: 40px; font-size: 20px; height: 35px">
- <div style="float: left; width: calc(100% - 170px)">
- <div style="float: left; padding-right: 5px;">
- {{pageTitle}}
- </div>
- <div id="vip"
- style="float: left; min-width: 80px; width: calc(100% - 250px); color: #b1000a; font-weight: bold">
- VIP
- <dx-check-box [(value)]="patient.vip" [disabled]="!canEdit"></dx-check-box>
- </div>
- </div>
- <div *ngIf="!patient.status || patient.status === 'Created' || patient.status === 'Accepted'"
- style="float: left; width: 170px">
- <dx-button icon="close" text="Stornieren" (onClick)="cancelPatient($event)"></dx-button>
- </div>
- </div>
- <div id="pcFields" style="padding-left: 40px; padding-right: 30px">
- <div class="row">
- <!-- client data block -->
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <span style="color: #b1000a">Nachname*</span>
- <dx-text-box #lastnameInput placeholder="Nachname" [(value)]="patient.lastname" [disabled]="!canEdit"
- stylingMode="underlined">
- <dx-validator>
- <dxi-validation-rule type="required" message="Bitte geben Sie den Nachnamen ein">
- </dxi-validation-rule>
- </dx-validator>
- </dx-text-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <span style="color: #b1000a">Vorname*</span>
- <dx-text-box placeholder="Vorname" [(value)]="patient.firstname" [disabled]="!canEdit"
- stylingMode="underlined">
- <dx-validator>
- <dxi-validation-rule type="required" message="Bitte geben Sie den Vornamen ein">
- </dxi-validation-rule>
- </dx-validator>
- </dx-text-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <span>Geburtsdatum</span>
- <dx-date-box #birthdateInput placeholder="Geburtsdatum" [opened]="false" type="date"
- [pickerType]="pickerType" [max]="maxDate" [(value)]="patient.birthdate" displayFormat="dd.MM.yyyy"
- invalidDateMessage="Bitte geben Sie ein gültiges Datum ein" useMaskBehavior="true"
- [disabled]="!canEdit" (onFocusIn)="onBirthdateOpened($event)" stylingMode="underlined">
- <!--<dx-validator>
- <dxi-validation-rule type="required" message="Bitte geben Sie das Geburtsdatum ein">
- </dxi-validation-rule>
- </dx-validator>-->
- </dx-date-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column" style="height: 70px; margin-top: 10px">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div
- style="float: left; width: calc(100% - 75px); height: 30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
- SVNR / SV-Träger</div>
- <div style="float: right; width: 75px; height: 30px; line-height: 30x; vertical-align: top">
- <dx-button id="vdasButton" icon="search" text="VDAS" (onClick)="vdas($event)" [disabled]="!canEdit"
- height="30">
- <div *dxTemplate="let data of 'content'" class="vdasStyle">
- <dx-load-indicator class='button-indicator' [visible]="isVDASLoading">
- </dx-load-indicator>
- <span class='dx-button-text'>VDAS</span>
- </div>
- </dx-button>
- </div>
- <div style="float: left; width: 40%">
- <dx-text-box #ssnInput placeholder="SVNRTTMMJJ" [(value)]="patient.ssn" (onEnterKey)="vdas($event)"
- [disabled]="!canEdit" stylingMode="underlined">
- </dx-text-box>
- </div>
- <div style="float: left; width: 58%; padding-left: 3px">
- <dx-select-box [dataSource]="socialInsuranceCarriers" displayExpr="insuranceInstituteName"
- valueExpr="code" [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith"
- placeholder="SV-Träger" noDataText="" [(value)]="patient.svtCode" [disabled]="!canEdit"
- stylingMode="underlined">
- <dx-validator>
- <dxi-validation-rule type="required" message="Bitte geben Sie den SV-Träger an">
- </dxi-validation-rule>
- </dx-validator>
- </dx-select-box>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <span style="color: #b1000a">Geschlecht*</span>
- <dx-select-box #sexSelectBox [dataSource]="sexEntries" displayExpr="text" valueExpr="name"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith" placeholder="Geschlecht"
- noDataText="" [(value)]="patient.sex" [disabled]="!canEdit" stylingMode="underlined">
- <dx-validator>
- <dxi-validation-rule type="required" message="Bitte geben Sie das Geschlecht an">
- </dxi-validation-rule>
- </dx-validator>
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column" style="height: 70px; margin-top: 10px">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div
- style="float: left; width: calc(100% - 100px); height: 30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
- <span style="color: #b1000a">Telefon* / Email</span>
- </div>
- <div id="smsCheckBox" style="float: right; width: 100px; height: 30px; text-align: right">
- <span style="font-size: 14px">SMS-Ben.</span>
- <dx-check-box [(value)]="patient.notification" [disabled]="!canEdit"></dx-check-box>
- </div>
- <div style="float: left; width: calc(50% - 24px);">
- <dx-text-box placeholder="+43xxxxxxxxx" [(value)]="patient.phone" [disabled]="!canEdit"
- stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- <dx-validator>
- <dxi-validation-rule type="required" message="Bitte geben Sie eine Telefonnummer an">
- </dxi-validation-rule>
- <dxi-validation-rule type="custom" [validationCallback]="phoneComparison" [reevaluate]="true"
- message="Bitte geben Sie eine Telefonnummer an"></dxi-validation-rule>
- </dx-validator>
- </dx-text-box>
- </div>
- <div style="float: left; width: 44px; padding-left: 2px; padding-right: 2px; text-align: center"
- title="Anrufen">
- <a href="tel:{{patient.phone}}" (click)="onCall($event, patient.phone)">
- <dx-button icon="tel"></dx-button>
- </a>
- </div>
- <div style="float: left; width: calc(50% - 24px)">
- <dx-text-box placeholder="Email" [(value)]="patient.eMail" maxLength="100" [disabled]="!canEdit"
- stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- <dx-validator>
- <dxi-validation-rule type="email" message="Bitte geben Sie eine gültige Email-Adresse ein">
- </dxi-validation-rule>
- </dx-validator>
- </dx-text-box>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnAddress">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div style="color: #b1000a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
- Meldeadresse (Hauptwohnsitz)*</div>
- <div style="float: left; width: 100%">
- <dx-text-box placeholder="<Straße> <Hausnummer>" [(value)]="patient.addressStreet"
- [disabled]="!canEdit" stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- <dx-validator>
- <dxi-validation-rule type="required"
- message="Bitte geben Sie die Meldeadresse (Hauptwohnsitz) ein">
- </dxi-validation-rule>
- </dx-validator>
- </dx-text-box>
- </div>
- <div style="float: left; width: 30%">
- <dx-text-box placeholder="<PLZ>" [(value)]="patient.addressZip" [disabled]="!canEdit"
- stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- <dx-validator>
- <dxi-validation-rule type="required"
- message="Bitte geben Sie die Meldeadresse (Hauptwohnsitz) ein">
- </dxi-validation-rule>
- </dx-validator>
- </dx-text-box>
- </div>
- <div style="float: left; width: 70%">
- <dx-text-box placeholder="<Ort>" [(value)]="patient.addressCity" [disabled]="!canEdit"
- stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- <dx-validator>
- <dxi-validation-rule type="required"
- message="Bitte geben Sie die Meldeadresse (Hauptwohnsitz) ein">
- </dxi-validation-rule>
- </dx-validator>
- </dx-text-box>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnAddress">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div
- style="float: left; width: calc(100% - 40px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
- Aktueller Wohnort / Aufenthaltsort</div>
- <div style="float: left; width: calc(100% - 40px)">
- <dx-text-box placeholder="<Straße> <Hausnummer>" [(value)]="patient.secondaryAddressStreet"
- [disabled]="!canEdit" stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- </dx-text-box>
- </div>
- <div style="float: left; width: 40px; text-align: right" title="Meldeadresse übernehmen">
- <dx-button icon="copy" (onClick)="takeAddress($event)" [disabled]="!canEdit"></dx-button>
- </div>
- <div style="float: left; width: 30%">
- <dx-text-box placeholder="<PLZ>" [(value)]="patient.secondaryAddressZip" [disabled]="!canEdit"
- stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- </dx-text-box>
- </div>
- <div style="float: left; width: 70%">
- <dx-text-box placeholder="<Ort>" [(value)]="patient.secondaryAddressCity" [disabled]="!canEdit"
- stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- </dx-text-box>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Behörde<dx-select-box #authoritySelectBox [dataSource]="authorityEntries" displayExpr="name"
- valueExpr="id" [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith"
- placeholder="Behörde" noDataText="" [(value)]="patient.authorityId" [disabled]="!canEdit"
- stylingMode="underlined" (onValueChanged)="onAuthorityChanged($event)">
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <span style="color: #b1000a">Staatsbürgerschaft*</span>
- <dx-select-box [dataSource]="countryCodeEntries" displayExpr="displayName" valueExpr="code"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith" placeholder="Staatsbürgerschaft"
- noDataText="" [(value)]="patient.nationality" [disabled]="!canEdit" stylingMode="underlined"
- (onFocusIn)="onFocusIn($event)">
- <dx-validator>
- <dxi-validation-rule type="required" message="Bitte geben Sie die Staatsbürgerschaft an">
- </dxi-validation-rule>
- </dx-validator>
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Hausarzt<dx-autocomplete placeholder="Hausarzt" [(value)]="patient.familyDoctor"
- [dataSource]="doctors" valueExpr="fullname" [showClearButton]="false" [disabled]="!canEdit"
- stylingMode="underlined" noDataText="" (onFocusOut)="clearDoctors()"
- (onValueChanged)="onDoctorChanged($event)" (onItemClick)="onDoctorClick($event)"
- (onFocusIn)="onFocusIn($event)">
- <div *dxTemplate="let data of 'item'">
- {{data?.fullname}} ({{data?.city}})
- </div>
- </dx-autocomplete>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%;">
- <tr>
- <td style="border-bottom: 1px solid #ddd; height: 54px">Befundüberm. an Hausarzt
- <dx-check-box [(value)]="patient.dataTransferAccepted" [disabled]="!canEdit"></dx-check-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td style="border-bottom: 1px solid #ddd; height: 54px">
- Drive-In möglich <dx-check-box [(value)]="patient.isDriveInPossible" [disabled]="!canEdit">
- </dx-check-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Organisation<dx-autocomplete placeholder="Organisation" [(value)]="patient.organisationText"
- [dataSource]="organisations" valueExpr="text" [showClearButton]="false" [disabled]="!canEdit"
- stylingMode="underlined" noDataText="" (onFocusOut)="clearOrganisations()"
- (onValueChanged)="onOrganisationChanged($event)" (onItemClick)="onOrganisationClick($event)"
- (onFocusIn)="onFocusIn($event)">
- </dx-autocomplete>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnMax" style="margin-top: 20px; padding-top: 0px">
- <table style="table-layout: fixed; width: 95%">
- <tr>
- <td>
- <dx-text-area placeholder="Notizen" [(value)]="patient.notes" width="auto" height="100"
- (onFocusIn)="onFocusIn($event)">
- </dx-text-area>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <span style="color: #b1000a">Kategorie*</span>
- <dx-select-box #prioritySelectBox [dataSource]="priorityEntries" displayExpr="text" valueExpr="name"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith" placeholder="Kategorie"
- noDataText="" [(value)]="patient.priority" [disabled]="!canEdit" stylingMode="underlined"
- (onValueChanged)="onPriorityChanged($event)">
- <dx-validator>
- <dxi-validation-rule type="required" message="Bitte geben Sie die Kategorie ein">
- </dxi-validation-rule>
- </dx-validator>
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Kontaktdatum<dx-date-box #contactDateInput placeholder="Kontaktdatum" [opened]="false" type="date"
- [pickerType]="pickerType" [max]="maxDate" [(value)]="patient.contactDate" [disabled]="!canEdit"
- displayFormat="dd.MM.yyyy" invalidDateMessage="Bitte geben Sie ein gültiges Datum ein"
- useMaskBehavior="true" stylingMode="underlined" (onValueChanged)="onContactDateChanged($event)">
- <dx-validator>
- <dxi-validation-rule type="custom" [validationCallback]="contactDateComparison"
- [reevaluate]="true" message="Bitte geben Sie das Kontaktdatum an"></dxi-validation-rule>
- </dx-validator>
- </dx-date-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Urlaubs-/Aufenthaltsland<dx-autocomplete placeholder="Urlaubs-/Aufenthaltsland"
- [(value)]="patient.countryOfResidence" [dataSource]="residences" valueExpr="text"
- [showClearButton]="false"
- [disabled]="!canEdit || !patient.priority || patient.priority !== 'ReturneesVoluntarily'"
- stylingMode="underlined" noDataText="" (onValueChanged)="onResidenceChanged($event)"
- (onItemClick)="onResidenceClick($event)" (onFocusIn)="onFocusIn($event)">
- </dx-autocomplete>
- </td>
- </tr>
- </table>
- </div>
- <div class="column"
- *ngIf="!patient.priority || (patient.priority !== 'ContactPerson1WithNotification' && patient.priority !== 'ContactPerson1')">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td style="border-bottom: 1px solid #ddd; height: 54px">
- <div>
- <div class="healthTestText">Gesundtestung mit einem Termin</div>
- <div class="healthTestItem">
- <dx-check-box [(value)]="patient.gesundTestungEinfach"
- (onValueChanged)="onGesundTestungEinfachChanged($event)"
- [disabled]="!canEdit || (origin === 'worklist' && tabIndex > 0) || (patient.priority && patient.priority === 'ContactPerson1WithNotification') || (patient.priority && patient.priority === 'ContactPerson1')">
- </dx-check-box>
- </div>
- </div>
- <div>
- <div class="healthTestText">Gesundtestung mit zwei Terminen</div>
- <div class="healthTestItem">
- <dx-check-box [(value)]="patient.gesundTestung" (onValueChanged)="onGesundTestungChanged($event)"
- [disabled]="!canEdit || (origin === 'worklist' && tabIndex > 0) || (patient.priority && patient.priority === 'ContactPerson1WithNotification') || (patient.priority && patient.priority === 'ContactPerson1')">
- </dx-check-box>
- </div>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="column"
- *ngIf="patient.priority && (patient.priority === 'ContactPerson1WithNotification' || patient.priority === 'ContactPerson1')">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td style="border-bottom: 1px solid #ddd; height: 54px">
- <div>
- <div class="healthTestText">Kontaktperson mit einem Termin</div>
- <div class="healthTestItem">
- <dx-check-box [(value)]="patient.contactPerson1OneAppointment"
- (onValueChanged)="onContactPersonOneAppointmentChanged($event)"
- [disabled]="!canEdit || (origin === 'worklist' && tabIndex > 0)">
- </dx-check-box>
- </div>
- </div>
- <div>
- <div class="healthTestText">Kontaktperson mit zwei Terminen</div>
- <div class="healthTestItem">
- <dx-check-box [(value)]="patient.contactPerson1TwoAppointments"
- (onValueChanged)="onContactPersonTwoAppointmentsChanged($event)"
- [disabled]="!canEdit || (origin === 'worklist' && tabIndex > 0)"></dx-check-box>
- </div>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnMax" *ngIf="origin === 'sharepoint' && tabIndex === 0">
- <table style="table-layout: fixed; width: 95%;">
- <tr>
- <td style="border-bottom: 1px solid #ddd; height: 54px">Terminerfassung?
- <dx-check-box [(value)]="patient.appointmentRecording"
- [visible]="origin === 'sharepoint' && tabIndex === 0"
- (onValueChanged)="onAppointmentRecordingChanged($event)"></dx-check-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- EMS-ID<dx-text-box #authorityAssignedIdInput placeholder="EMS-ID"
- [(value)]="patient.authorityAssignedId" [disabled]="!callCenterCanEdit" maxLength="10"
- stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- </dx-text-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div
- style="float: left; width: calc(100% - 40px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
- DriveIn-ID</div>
- <div style="float: left; width: calc(100% - 40px);">
- <dx-text-box #driveInAssignedIdInput placeholder="DriveIn-ID" [(value)]="patient.driveInAssignedId"
- [disabled]="!callCenterCanEdit" stylingMode="underlined" (onFocusIn)="onFocusIn($event)">
- </dx-text-box>
- </div>
- <div style="float: left; width: 40px; text-align: right" title="DriveIn-ID generieren">
- <dx-button icon="key" (onClick)="createDriveInId($event)" [disabled]="!callCenterCanEdit">
- </dx-button>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis">Sammelstelle / Mobiler
- Dienst (1. Termin)</div>
- <dx-select-box #driveInSelectBox [dataSource]="driveInEntries" [displayExpr]="driveInDisplayValue"
- valueExpr="id" [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith"
- placeholder="Sammelstelle / Mobiler Dienst (1. Termin)" noDataText="" [(value)]="patient.driveInId"
- [disabled]="!callCenterCanEdit" stylingMode="underlined"
- (onValueChanged)="onDriveInChanged($event)">
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis">Sammelstelle / Mobiler
- Dienst (2. Termin)</div>
- <dx-select-box [dataSource]="driveInEntries" [displayExpr]="driveInDisplayValue" valueExpr="id"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith"
- placeholder="Sammelstelle / Mobiler Dienst (2. Termin)" noDataText=""
- [(value)]="patient.secondDriveInId"
- [disabled]="!callCenterCanEdit || (!patient.gesundTestung && !patient.contactPerson1TwoAppointments)"
- stylingMode="underlined" (onValueChanged)="onSecondDriveInChanged($event)">
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div
- style="float: left; width: calc(100% - 40px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
- Termin</div>
- <div style="float: left; width: calc(100% - 40px);">
- <dx-select-box #appointmentInput [dataSource]="appointmentEntries" valueExpr="startDate"
- placeholder="Termin" noDataText="" [(value)]="patient.appointment" [disabled]="!callCenterCanEdit"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith" stylingMode="underlined"
- [showDropDownButton]="true" fieldTemplate="field" itemTemplate="item"
- (onValueChanged)="onAppointmentChanged($event)">
- <div *dxTemplate="let data of 'field'">
- <dx-text-box [value]="data?.startDate | date:'dd.MM.yyyy HH:mm'"></dx-text-box>
- </div>
- <div *dxTemplate="let data of 'item'">
- {{data.startDate | date:'dd.MM.yyyy HH:mm'}} (Verfügbar: {{data.available}})
- </div>
- </dx-select-box>
- </div>
- <div style="float: left; width: 40px; text-align: right">
- <dx-button icon="event" (onClick)="showSchedulerApp($event)" [disabled]="!callCenterCanEdit">
- </dx-button>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="column"
- *ngIf="!patient.priority || (patient.priority !== 'ContactPerson1WithNotification' && patient.priority !== 'ContactPerson1')">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div
- style="float: left; width: calc(100% - 40px - 38px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
- Termin (Gesundtestung)</div>
- <div style="float: left; width: calc(100% - 40px - 38px);">
- <dx-select-box #secondAppointmentInput [dataSource]="secAppointmentEntries" valueExpr="startDate"
- placeholder="Termin (Gesundtestung)" noDataText="" [(value)]="patient.secondAppointment"
- [disabled]="!canEditAppointmentHealth" [searchEnabled]="!isMobile && !isTablet"
- searchMode="startsWith" stylingMode="underlined" [showDropDownButton]="true" fieldTemplate="field"
- itemTemplate="item">
- <div *dxTemplate="let data of 'field'">
- <dx-text-box [value]="data?.startDate | date:'dd.MM.yyyy HH:mm'"></dx-text-box>
- </div>
- <div *dxTemplate="let data of 'item'">
- {{data.startDate | date:'dd.MM.yyyy HH:mm'}} (Verfügbar: {{data.available}})
- </div>
- </dx-select-box>
- </div>
- <div style="float: left; width: 40px; text-align: right">
- <dx-button icon="event" (onClick)="showSchedulerSecApp($event)"
- [disabled]="!canEditAppointmentHealth"></dx-button>
- </div>
- <div style="float: left; width: 38px; text-align: right">
- <dx-button id="cancelAppointmentButton" icon="fa fa-bell-slash" hint="Termin stornieren"
- [disabled]="!canEditAppointmentHealth || !(origin === 'sharepoint' && tabIndex === 2 && patient.gesundTestung)"
- (onClick)="cancelSecondAppointmentGesundTestung($event)">
- </dx-button>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="column"
- *ngIf="patient.priority && (patient.priority === 'ContactPerson1WithNotification' || patient.priority === 'ContactPerson1') ">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div
- style="float: left; width: calc(100% - 40px - 38px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
- 2. Termin</div>
- <div style="float: left; width: calc(100% - 40px - 38px);">
- <dx-select-box [dataSource]="secAppointmentEntries" valueExpr="startDate" placeholder="2. Termin"
- noDataText="" [(value)]="patient.secondAppointment"
- [disabled]="!canEdit || (origin === 'sharepoint' && tabIndex === 0) || patient.contactPerson1OneAppointment || patient.gesundTestung || patient.gesundTestungEinfach"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith" stylingMode="underlined"
- [showDropDownButton]="true" fieldTemplate="field" itemTemplate="item">
- <div *dxTemplate="let data of 'field'">
- <dx-text-box [value]="data?.startDate | date:'dd.MM.yyyy HH:mm'"></dx-text-box>
- </div>
- <div *dxTemplate="let data of 'item'">
- {{data.startDate | date:'dd.MM.yyyy HH:mm'}} (Verfügbar: {{data.available}})
- </div>
- <dx-validator>
- <dxi-validation-rule type="custom" [validationCallback]="contactSecondAppointmentComparison"
- [reevaluate]="true" message="Bitte geben Sie den 2. Termin an"></dxi-validation-rule>
- </dx-validator>
- </dx-select-box>
- </div>
- <div style="float: left; width: 40px; text-align: right">
- <dx-button icon="event" (onClick)="showSchedulerSecApp($event)"
- [disabled]="!canEdit || (origin === 'sharepoint' && tabIndex === 0) || patient.contactPerson1OneAppointment || patient.gesundTestung || patient.gesundTestungEinfach">
- </dx-button>
- </div>
- <div style="float: left; width: 38px; text-align: right">
- <dx-button id="cancelAppointmentButton" icon="fa fa-bell-slash" hint="Termin stornieren"
- [disabled]="!canEdit || !(origin === 'sharepoint' && tabIndex === 2 && patient.contactPerson1TwoAppointments)"
- (onClick)="cancelSecondAppointmentContact($event)">
- </dx-button>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Labor<dx-select-box #laborInput [dataSource]="laborEntries" displayExpr="name" valueExpr="id"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith" placeholder="Labor" noDataText=""
- [(value)]="patient.laboratoryId" stylingMode="underlined">
- <dx-validator>
- <dxi-validation-rule type="custom" [validationCallback]="priorityComparison" [reevaluate]="true"
- message="Bitte geben Sie ein Labor an"></dxi-validation-rule>
- </dx-validator>
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="column"
- *ngIf="user.roles && (user.roles.indexOf('authority') !== -1 || user.roles.indexOf('administrator') !== -1) && origin === 'sharepoint' && tabIndex === 1">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Status<dx-select-box #statusInput [dataSource]="statusEntries" displayExpr="name" valueExpr="id"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith" placeholder="Status" noDataText=""
- [(value)]="status" stylingMode="underlined" (onValueChanged)="onStatusChanged($event)">
- <div *dxTemplate="let value of 'item'">
- <span [style.color]="value.color" [style.font-weight]="value.fontWeight">{{value.name}}</span>
- </div>
- <dx-validator>
- <dxi-validation-rule type="custom" [validationCallback]="statusComparison" [reevaluate]="true"
- message="Bitte geben Sie einen Status ein"></dxi-validation-rule>
- </dx-validator>
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div
- *ngIf="patient && patient.currentSample && patient.currentSample.orderNumber && patient.currentSample.orderNumber.length > 0"
- class="column">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- <div style="float: left; width: calc(100% - 50px); color: #b1000a">Barcode
- <dx-text-box [value]="patient.currentSample.orderNumber" disabled="true" stylingMode="underlined">
- </dx-text-box>
- </div>
- <div style="float: left; width: 50px; text-align: right; padding-top: 10px"
- title="Etikett mit Barcode anfordern">
- <a (click)="getBarcode($event)"><img class="clickable" src="assets/images/barcode.png"
- width="40" /></a>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div class="column" *ngIf="origin === 'worklist' && tabIndex === 2">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Status<dx-select-box [dataSource]="setStatusEntries" displayExpr="name" valueExpr="id"
- [searchEnabled]="!isMobile && !isTablet" searchMode="startsWith" placeholder="Status" noDataText=""
- [(value)]="patient.status" stylingMode="underlined" (onValueChanged)="onSetStatusChanged($event)">
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnMax" style="width: 95%; text-align: right"
- *ngIf="user.roles && (user.roles.indexOf('authority') !== -1 || user.roles.indexOf('administrator') !== -1) && origin === 'sharepoint' && tabIndex === 1 && (patient.status === 'Authority')">
- <div style="padding-bottom: 10px"></div>
- <!--<dx-button class="{{getAuthorityButtonStyle(patient.status, 'Accepted')}}" style="margin-right: 5px"
- (onClick)="authorize($event, patient, true)" icon="check"></dx-button>
- <dx-button class="{{getAuthorityButtonStyle(patient.status, 'Rejected')}}"
- (onClick)="authorize($event, patient, false)" icon="close"></dx-button>-->
- </div>
- </div>
- </div>
- </dx-scroll-view>
- </div>
- </div>
- <dx-toolbar id="patientCollectionFooter">
- <!-- back button desktop and mobile -->
- <dxi-item location="before" itemTemplate="patientCollectionTemplate">
- <div *dxTemplate="let item of 'patientCollectionTemplate'">
- <div *ngIf="isDesktop" style="margin-left: 10px; margin-top: 6px;">
- <dx-button icon="chevrondoubleleft" text="Zurück" (onClick)="back($event)"></dx-button>
- </div>
- <div *ngIf="!isDesktop" style="margin-left: 5px; margin-top: 2px">
- <a (click)="back($event)"><img class="clickable" src="assets/images/arrow_left.png" height="45" /></a>
- </div>
- </div>
- </dxi-item>
- <dxi-item location="after" itemTemplate="patientCollectionTemplate">
- <div *dxTemplate="let item of 'patientCollectionTemplate'">
- <!--desktop create change sendToAuthority-->
- <div *ngIf="isDesktop && collectPatient" style="margin-right: 10px; margin-top: 6px;">
- <dx-button icon="save" text="Erstellen" (onClick)="submit($event)"></dx-button>
- </div>
- <div *ngIf="isDesktop && !collectPatient" style="margin-right: 10px; margin-top: 6px;">
- <dx-button icon="save" text="Speichern" (onClick)="change($event)"></dx-button>
- <span
- *ngIf="user.roles && (user.roles.indexOf('callcenter') !== -1 || user.roles.indexOf('administrator') !== -1) && origin === 'sharepoint' && tabIndex === 0 && patient.status === 'Created'"
- style="margin-left: 5px">
- <dx-button icon="message" text="An Behörde übermitteln" (onClick)="sendToAuthority($event)"></dx-button>
- </span>
- </div>
- <!--mobile create change sendToAuthority-->
- <div *ngIf="!isDesktop && collectPatient" style="margin-right: 20px; margin-top: 4px">
- <a (click)="submit($event)"><img class="clickable" src="assets/images/edit.png" height="40" /></a>
- </div>
- <div *ngIf="!isDesktop && !collectPatient" style="margin-right: 20px; margin-top: 4px">
- <a style="float: left" (click)="change($event)"><img class="clickable" src="assets/images/edit.png"
- height="40" /></a>
- <a *ngIf="user.roles && (user.roles.indexOf('callcenter') !== -1 || user.roles.indexOf('administrator') !== -1) && origin === 'sharepoint' && tabIndex === 0 && patient.status === 'Created'"
- style="float: left; margin-left: 5px; margin-top: 3px" (click)="sendToAuthority($event)"><img
- class="clickable" src="assets/images/send.png" height="35" /></a>
- </div>
- </div>
- </dxi-item>
- </dx-toolbar>
- <!--VDAS Popup-->
- <dx-popup #vdasPopup title="VDAS-Abfrage" [showCloseButton]="false" [closeOnOutsideClick]="false"
- [(visible)]="vdasPopupVisible" (onShowing)="onShowing($event)" (onShown)="onShown($event)">
- <div *dxTemplate="let data = data of 'content'" style="padding-left: 8px">
- <dx-scroll-view #scrollViewPopup>
- <div><b style="margin-left: 2px">Ergebnis der VDAS-Abfrage <dx-button
- style="background-color: lightgrey" icon="search"></dx-button></b>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Nachname<dx-text-box placeholder="Nachname" [value]="vdasPatient.lastname" [disabled]="true"
- stylingMode="underlined">
- </dx-text-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Vorname<dx-text-box placeholder="Vorname" [value]="vdasPatient.firstname" [disabled]="true"
- stylingMode="underlined">
- </dx-text-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Geburtsdatum<dx-date-box placeholder="Geburtsdatum" [opened]="false" type="date"
- [value]="vdasPatient.birthdate" displayFormat="dd.MM.yyyy" [disabled]="true" stylingMode="underlined">
- </dx-date-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- SVNR<dx-number-box placeholder="SVNRTTMMJJ" [value]="vdasPatient.ssn" [disabled]="true"
- stylingMode="underlined">
- </dx-number-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- SV-Träger<dx-select-box #svtCodeInput [dataSource]="vdasPatient.insurance" displayExpr="svtName"
- valueExpr="svtCode" placeholder="SV-Träger" noDataText="" [(value)]="vdasPatient.svtCode"
- [disabled]="false" stylingMode="underlined">
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Geschlecht
- <dx-select-box #svtCodeInput [dataSource]="vdasPatient.patientZPI" displayExpr="text" valueExpr="name" noDataText=""
- [value]="vdasPatient.sex" [disabled]="true" stylingMode="underlined">
- </dx-select-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Straße<dx-text-box placeholder="Straße" [value]="vdasPatient.patientZPI[0].patientAddress.streetName" [disabled]="true"
- stylingMode="underlined">
- </dx-text-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- PLZ<dx-text-box placeholder="PLZ" [value]="vdasPatient.patientZPI[0].patientAddress.postalCode" [disabled]="true"
- stylingMode="underlined">
- </dx-text-box>
- </td>
- </tr>
- </table>
- </div>
- <div class="columnPopup">
- <table style="table-layout: fixed; width: 90%">
- <tr>
- <td>
- Ort<dx-text-box placeholder="Ort" [value]="vdasPatient.patientZPI[0].patientAddress.city" [disabled]="true"
- stylingMode="underlined">
- </dx-text-box>
- </td>
- </tr>
- </table>
- </div>
- </dx-scroll-view>
- <dxi-toolbar-item itemTemplate="closeButtonTemplate" location="before" toolbar="bottom">
- <div *dxTemplate="let item of 'closeButtonTemplate'">
- <div *ngIf="isDesktop; else mobileTemplate">
- <dx-button icon="close" text="Abbrechen" (onClick)="cancel()"></dx-button>
- </div>
- <ng-template #mobileTemplate>
- <a (click)="cancel()"><img class="clickable" src="assets/images/cancel_white.png" height="25" /></a>
- </ng-template>
- </div>
- </dxi-toolbar-item>
- <dxi-toolbar-item itemTemplate="assignButtonTemplate" location="after" toolbar="bottom">
- <div *dxTemplate="let item of 'assignButtonTemplate'">
- <div *ngIf="isDesktop; else mobileTemplate">
- <dx-button icon="check" text="Übernehmen" (onClick)="assign()"></dx-button>
- </div>
- <ng-template #mobileTemplate>
- <a (click)="assign()"><img class="clickable" src="assets/images/assign_barcode.png" height="35" /></a>
- </ng-template>
- </div>
- </dxi-toolbar-item>
- </div>
- </dx-popup>
- <app-scheduler [visible]="schedulePopupVisible" [type]="type" (closeScheduler)="closeScheduler($event)"
- (scheduleAppointment)="scheduleAppointment($event)"></app-scheduler>
[text] patient-collection.component.html
Viewer
*** This page was generated with the meta tag "noindex, nofollow". This happened because you selected this option before saving or the system detected it as spam. This means that this page will never get into the search engines and the search bot will not crawl it. There is nothing to worry about, you can still share it with anyone.
Editor
You can edit this paste and save as new: