Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timeline based Manual Entry form #330

Merged
merged 52 commits into from
Dec 4, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
8be16ba
update Nav css
AnalogJ Nov 26, 2023
6400f5e
When clicking attachment icon, we should open a modal allowing the us…
AnalogJ Nov 26, 2023
6a49ed0
added deprecation tags to components that should be removed once time…
AnalogJ Nov 26, 2023
ac1e63d
adding standalone wizard popup modals.
AnalogJ Nov 27, 2023
74a13ac
adding modals for new attachment & new organizations.
AnalogJ Nov 27, 2023
3b07b96
fixing modal zindex, so that stacked modals work correcly.
AnalogJ Nov 27, 2023
03515d6
adding help text for Lab results section.
AnalogJ Nov 27, 2023
cd0422b
adding reset logic to forms.
AnalogJ Nov 27, 2023
1d5939a
adding submission validation to wizard secondary modals.
AnalogJ Nov 27, 2023
62bb970
trying to fix organization, location and practitioner popups.
AnalogJ Nov 27, 2023
0629c01
enable debug mode
AnalogJ Nov 27, 2023
fba1d0e
passing existing encounter to Medical Record Wizard.
AnalogJ Nov 27, 2023
fd8ca58
moving all fhir resources into their own module (for clarity and easi…
AnalogJ Nov 27, 2023
ce69df5
adding encounter component.
AnalogJ Nov 27, 2023
72ad167
moved warning messages about Fasten Table View into the generic resou…
AnalogJ Nov 28, 2023
302a43a
move list/datatable resource components into their own module.
AnalogJ Nov 28, 2023
b872eb8
make the add wizards large
AnalogJ Nov 28, 2023
f199ffa
add organization moved button group to the top.
AnalogJ Nov 28, 2023
c95c462
provide a mechanism to bubble up selection from fhir-datatable.
AnalogJ Nov 28, 2023
1ed0ae2
renamed fhir-resource to fhir-card for consistency.
AnalogJ Nov 28, 2023
a09149d
renamed list-resource to fhir-datatable for consistency.
AnalogJ Nov 28, 2023
eb3daaf
making sure the fhir-card can be collapsed at init.
AnalogJ Nov 28, 2023
3310cb5
adding search icon and create icon in button group.
AnalogJ Nov 28, 2023
af1bd98
fix the color of datatable selected rows
AnalogJ Nov 28, 2023
ea082e2
make sure resource information is associated with datatable row.
AnalogJ Nov 29, 2023
7e4f41f
if the app redirects to the login screen, we should close any active …
AnalogJ Nov 29, 2023
277bbc2
replacing practitioner modal with find + create functionality.
AnalogJ Nov 29, 2023
69eeed9
providing a mechanism to display newly created organizations and prac…
AnalogJ Nov 29, 2023
601214e
make sure that practitioner drop down lists existing practitioners as…
AnalogJ Nov 29, 2023
dc900f7
make sure that the organization dropdown lists show existing organiza…
AnalogJ Nov 29, 2023
ffce6de
fix human name parsing in fhir-datatable (some providers dont include…
AnalogJ Nov 29, 2023
f763a9f
make sure we can use the wizard in situations where the encounter is …
AnalogJ Nov 30, 2023
3f68afc
correctly convert manually created encounter to display model.
AnalogJ Nov 30, 2023
4174081
fixing tests.
AnalogJ Nov 30, 2023
061adbe
fixing tests.
AnalogJ Nov 30, 2023
a1b6cff
fixing tests.
AnalogJ Nov 30, 2023
96b059d
working on tests.
AnalogJ Dec 1, 2023
a7a427b
adding tests.
AnalogJ Dec 1, 2023
3ab5093
adding stories for components.
AnalogJ Dec 1, 2023
4ebe875
make sure nlm typeahead makes network requests.
AnalogJ Dec 1, 2023
550e17e
make sure we set the encounter data when it's passed in during init.
AnalogJ Dec 1, 2023
dce0a32
provide a mechanism to disable selection of practitioners and organiz…
AnalogJ Dec 1, 2023
c92b543
fixing breakpoints for menu.
AnalogJ Dec 1, 2023
9a97a66
adding under construction message to lab results.
AnalogJ Dec 1, 2023
0830b58
fixed issue where clearing the typeahead would break model updates.
AnalogJ Dec 1, 2023
922a004
fix tests.
AnalogJ Dec 1, 2023
cfff2b2
make sure that a Fasten source credential is created when a new user …
AnalogJ Dec 1, 2023
0e0c7ab
make sure we can generate NDJSON like list of resources to create/add…
AnalogJ Dec 2, 2023
68b5f1d
provide a mechanism to link resources across sources - used by fasten…
AnalogJ Dec 2, 2023
df8fc04
better UpsertRawResourceAssociation method.
AnalogJ Dec 3, 2023
afe29f0
addign code folding to large gorm_common.go file.
AnalogJ Dec 4, 2023
a3c364e
fix tests
AnalogJ Dec 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
moved warning messages about Fasten Table View into the generic resou…
…rce list component.

rename fhir to fhir card module.
  • Loading branch information
AnalogJ committed Nov 28, 2023
commit 72ad167b06eaef9ced1b34c5c72b9e7a2b26b450
4 changes: 2 additions & 2 deletions frontend/src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import { ExploreComponent } from './pages/explore/explore.component';
import {DirectivesModule} from './directives/directives.module';
import { DesktopCallbackComponent } from './pages/desktop-callback/desktop-callback.component';
import { BackgroundJobsComponent } from './pages/background-jobs/background-jobs.component';
import {FhirResourceModule} from './components/fhir/fhir-resource.module';
import {FhirCardModule} from './components/fhir-card/fhir-card.module';

@NgModule({
declarations: [
Expand All @@ -65,7 +65,7 @@ import {FhirResourceModule} from './components/fhir/fhir-resource.module';
BrowserModule,
FontAwesomeModule,
SharedModule,
FhirResourceModule,
FhirCardModule,
AppRoutingModule,
HttpClientModule,
NgbModule,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,4 @@ import { EncounterComponent } from './resources/encounter/encounter.component';
FhirResourceOutletDirective,
]
})
export class FhirResourceModule { }
export class FhirCardModule { }
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
<div>

<div class="alert alert-warning" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<strong>Warning!</strong> Fasten does not know how to display this resource type (yet). Click an item in the list below to see the raw data
</div>

<ngx-datatable
#table
class="bootstrap"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,4 @@
<div>

<div class="alert alert-info" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<strong>Work-in-Progress!</strong> Fasten is still under active development, and some of these tables may be incomplete.
<br/>
You can click on a row to see the raw data.
<br/>
If you have any feedback regarding the data displayed, please <a href="https://github.com/fastenhealth/fasten-onprem/issues" externalLink>file a ticket <i class="fab fa-github"></i></a>
</div>

<ngx-datatable
#table
class="bootstrap"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div class="modal-header">
<h4 class="modal-title" id="modal-location">New Location</h4>
<h4 class="modal-title" id="modal-location">Add Location</h4>
<button type="button" class="close" aria-label="Close" (click)="activeModal.dismiss()"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
Expand All @@ -9,59 +9,79 @@ <h4 class="modal-title" id="modal-location">New Location</h4>
<strong>New Organization Form Status: {{ newOrganizationForm.status }}</strong>
</div>

<div class="row row-sm">

<div class="col-12">
<p class="mg-b-10">Name<span ngbTooltip="required" class="text-danger">*</span></p>
<form [formGroup]="newOrganizationTypeaheadForm">
<app-nlm-typeahead formControlName="data" searchType="MedicalContactOrganization" [debugMode]="debugMode"></app-nlm-typeahead>
</form>
<span *ngFor="let extId of newOrganizationForm.get('identifier').getRawValue()" class="badge badge-pill badge-primary">{{extId.type?.coding[0].code}}: {{extId.value}}</span>
</div><!-- col -->
<div>
<div ngbNav #nav="ngbNav" [(activeId)]="activeId" class="nav-pills bg-gray-200 pd-20">
<ng-container ngbNavItem="existing">
<a class="nav-link" ngbNavLink>Find Existing</a>
<ng-template ngbNavContent>
<div class="row row-sm pd-t-15">
<div class="col-12">

</div>
</div>
</ng-template>
</ng-container>
<ng-container ngbNavItem="create">
<a class="nav-link" ngbNavLink>New Location</a>
<ng-template ngbNavContent>
<div class="row row-sm pd-t-15">
<div class="col-12">
<p class="mg-b-10">Name<span ngbTooltip="required" class="text-danger">*</span></p>
<form [formGroup]="newOrganizationTypeaheadForm">
<app-nlm-typeahead formControlName="data" searchType="MedicalContactOrganization" [debugMode]="debugMode"></app-nlm-typeahead>
</form>
<span *ngFor="let extId of newOrganizationForm.get('identifier').getRawValue()" class="badge badge-pill badge-primary">{{extId.type?.coding[0].code}}: {{extId.value}}</span>
</div><!-- col -->

<ng-container [formGroup]="newOrganizationForm">
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Type<span ngbTooltip="required" class="text-danger">*</span></p>
<app-nlm-typeahead formControlName="type" searchType="MedicalContactOrganizationType" [debugMode]="debugMode"></app-nlm-typeahead>
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Telephone</p>
<input formControlName="phone" class="form-control" placeholder="(123) 456-7890" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Fax</p>
<input formControlName="fax" class="form-control" placeholder="(123) 456-7890" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Email</p>
<input formControlName="email" class="form-control" placeholder="email@example.com" type="text" email>
</div><!-- col -->
<ng-container formGroupName="address">
<div class="col-12 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Address</p>
<input formControlName="line1" class="form-control" placeholder="Line 1" type="text">
</div><!-- col -->
<div class="col-12 pd-t-10 mg-t-10 mg-lg-t-0">
<input formControlName="line2" class="form-control" placeholder="Line 2" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">City</p>
<input formControlName="city" class="form-control" placeholder="City" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">State</p>
<input formControlName="state" class="form-control" placeholder="State" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Zip/Postal</p>
<input formControlName="zip" class="form-control" placeholder="Zip" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Country</p>
<app-nlm-typeahead formControlName="country" searchType="Countries" [debugMode]="debugMode"></app-nlm-typeahead>
</div><!-- col -->
<ng-container [formGroup]="newOrganizationForm">
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Type<span ngbTooltip="required" class="text-danger">*</span></p>
<app-nlm-typeahead formControlName="type" searchType="MedicalContactOrganizationType" [debugMode]="debugMode"></app-nlm-typeahead>
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Telephone</p>
<input formControlName="phone" class="form-control" placeholder="(123) 456-7890" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Fax</p>
<input formControlName="fax" class="form-control" placeholder="(123) 456-7890" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Email</p>
<input formControlName="email" class="form-control" placeholder="email@example.com" type="text" email>
</div><!-- col -->
<ng-container formGroupName="address">
<div class="col-12 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Address</p>
<input formControlName="line1" class="form-control" placeholder="Line 1" type="text">
</div><!-- col -->
<div class="col-12 pd-t-10 mg-t-10 mg-lg-t-0">
<input formControlName="line2" class="form-control" placeholder="Line 2" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">City</p>
<input formControlName="city" class="form-control" placeholder="City" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">State</p>
<input formControlName="state" class="form-control" placeholder="State" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Zip/Postal</p>
<input formControlName="zip" class="form-control" placeholder="Zip" type="text">
</div><!-- col -->
<div class="col-6 mg-t-10 mg-lg-t-0">
<p class="mg-b-10">Country</p>
<app-nlm-typeahead formControlName="country" searchType="Countries" [debugMode]="debugMode"></app-nlm-typeahead>
</div><!-- col -->
</ng-container>
</ng-container>
</div>
</ng-template>
</ng-container>
</ng-container>
</div>

<div [ngbNavOutlet]="nav" class="ms-4"></div>
</div>
</div>
<div class="modal-footer">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import {CommonModule} from '@angular/common';
import {FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators} from '@angular/forms';
import {NlmTypeaheadComponent} from '../nlm-typeahead/nlm-typeahead.component';
import {HighlightModule} from 'ngx-highlightjs';
import {NgbActiveModal, NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';
import {NgbActiveModal, NgbNavLink, NgbNavModule, NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';
import {ListEncounterComponent} from '../list-generic-resource/list-encounter.component';

@Component({
standalone: true,
Expand All @@ -13,7 +14,8 @@ import {NgbActiveModal, NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';
FormsModule,
NlmTypeaheadComponent,
HighlightModule,
NgbTooltipModule
NgbTooltipModule,
NgbNavModule,
],
selector: 'app-medical-record-wizard-add-organization',
templateUrl: './medical-record-wizard-add-organization.component.html',
Expand All @@ -22,6 +24,8 @@ import {NgbActiveModal, NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';
export class MedicalRecordWizardAddOrganizationComponent implements OnInit {
@Input() debugMode: boolean = false;

activeId: string = 'existing'

newOrganizationTypeaheadForm: FormGroup
newOrganizationForm: FormGroup //ResourceCreateOrganization

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import {
import {GenerateR4Bundle} from '../../pages/resource-creator/resource-creator.utilities';
import {EncounterModel} from '../../../lib/models/resources/encounter-model';
import {SharedModule} from '../shared.module';
import {FhirResourceModule} from '../fhir/fhir-resource.module';
import {FhirCardModule} from '../fhir-card/fhir-card.module';

@Component({
standalone: true,
Expand All @@ -43,7 +43,7 @@ import {FhirResourceModule} from '../fhir/fhir-resource.module';
NlmTypeaheadComponent,
NgSelectModule,
HighlightModule,
FhirResourceModule
FhirCardModule
],
selector: 'app-medical-record-wizard',
templateUrl: './medical-record-wizard.component.html',
Expand Down Expand Up @@ -235,6 +235,7 @@ export class MedicalRecordWizardComponent implements OnInit {
openOrganizationModal(formGroup?: AbstractControl, controlName?: string) {
let modalRef = this.modalService.open(MedicalRecordWizardAddOrganizationComponent, {
ariaLabelledBy: 'modal-organization',

})
modalRef.componentInstance.debugMode = this.debugMode;
modalRef.result.then(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
<h2 class="az-content-title mg-t-40">{{resourceListType}}</h2>

<div *ngIf="knownResourceType; else unknownResourceType" class="alert alert-info" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<strong>Work-in-Progress!</strong> Fasten is still under active development, and some of these tables may be incomplete.
<br/>
You can click on a row to see the raw data.
<br/>
If you have any feedback regarding the data displayed, please <a href="https://github.com/fastenhealth/fasten-onprem/issues" externalLink>file a ticket <i class="fab fa-github"></i></a>
</div>



<ng-template #unknownResourceType>
<div class="alert alert-warning" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<strong>Warning!</strong> Fasten does not know how to display this resource type (yet). Click an item in the list below to see the raw data
</div>
</ng-template>

<ng-template resourceListOutlet></ng-template>
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ export class ResourceListComponent implements OnInit, OnChanges {
//location to dynamically load the resource list
@ViewChild(ResourceListOutletDirective, {static: true}) resourceListOutlet!: ResourceListOutletDirective;

knownResourceType: boolean = true;

constructor(private fastenApi: FastenApiService) { }

Expand All @@ -74,6 +75,8 @@ export class ResourceListComponent implements OnInit, OnChanges {
componentRef.instance.resourceListType = this.resourceListType;
componentRef.instance.sourceId = this.source.id;
componentRef.instance.markForCheck()

this.knownResourceType = (componentType != ListFallbackComponent)
}
}

Expand Down
4 changes: 2 additions & 2 deletions frontend/src/app/components/shared.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ import { MedicalRecordWizardComponent } from './medical-record-wizard/medical-re
import { MedicalRecordWizardAddPractitionerComponent } from './medical-record-wizard-add-practitioner/medical-record-wizard-add-practitioner.component';
import { MedicalRecordWizardAddOrganizationComponent } from './medical-record-wizard-add-organization/medical-record-wizard-add-organization.component';
import { MedicalRecordWizardAddAttachmentComponent } from './medical-record-wizard-add-attachment/medical-record-wizard-add-attachment.component';
import {FhirResourceModule} from './fhir/fhir-resource.module';
import {FhirCardModule} from './fhir-card/fhir-card.module';

@NgModule({
imports: [
Expand All @@ -84,7 +84,7 @@ import {FhirResourceModule} from './fhir/fhir-resource.module';
HighlightModule,
PipesModule,
DirectivesModule,
FhirResourceModule,
FhirCardModule,

//standalone components
GlossaryLookupComponent,
Expand Down