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
making sure the fhir-card can be collapsed at init.
  • Loading branch information
AnalogJ committed Nov 28, 2023
commit eb3daaf630c1a24dea0a40c12d5f65588726264f
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {FastenDisplayModel} from '../../../../lib/models/fasten/fasten-display-m
export interface FhirCardComponentInterface {
displayModel: FastenDisplayModel;
showDetails: boolean;
isCollapsed: boolean;

//these are used to populate the description of the resource. May not be available for all resources
resourceCode?: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ export class FhirCardComponent implements OnInit, OnChanges {

@Input() displayModel: FastenDisplayModel
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

//location to dynamically load the displayModel
@ViewChild(FhirCardOutletDirective, {static: true}) fhirCardOutlet!: FhirCardOutletDirective;
Expand All @@ -65,6 +66,7 @@ export class FhirCardComponent implements OnInit, OnChanges {
const componentRef = viewContainerRef.createComponent<FhirCardComponentInterface>(componentType);
componentRef.instance.displayModel = this.displayModel;
componentRef.instance.showDetails = this.showDetails;
componentRef.instance.isCollapsed = this.isCollapsed;
componentRef.instance.markForCheck()

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ import {TableComponent} from "../../common/table/table.component";
export class AllergyIntoleranceComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: AllergyIntoleranceModel
@Input() showDetails: boolean = true

isCollapsed: boolean = false
@Input() isCollapsed: boolean = false

tableData: TableRowItem[] = []

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ export class BinaryComponent implements OnInit, FhirCardComponentInterface {
@Input() showDetails: boolean = true
@Input() attachmentSourceId: string
@Input() attachmentModel: AttachmentModel //can only have attachmentModel or binaryModel, not both.
@Input() isCollapsed: boolean = false

loading: boolean = false
constructor(public changeRef: ChangeDetectorRef, public router: Router, public fastenApi: FastenApiService) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ import {GlossaryLookupComponent} from '../../../glossary-lookup/glossary-lookup.
export class DiagnosticReportComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: DiagnosticReportModel
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

//these are used to populate the description of the resource. May not be available for all resources
resourceCode?: string;
resourceCodeSystem?: string;

isCollapsed: boolean = false
tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import {GlossaryLookupComponent} from '../../../glossary-lookup/glossary-lookup.
export class DocumentReferenceComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: DocumentReferenceModel
@Input() showDetails: boolean = true
isCollapsed: boolean = false
@Input() isCollapsed: boolean = false
tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,12 @@ import {EncounterModel} from '../../../../../lib/models/resources/encounter-mode
export class EncounterComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: EncounterModel | null
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

//these are used to populate the description of the resource. May not be available for all resources
resourceCode?: string;
resourceCodeSystem?: string;

isCollapsed: boolean = false

tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {HighlightModule} from 'ngx-highlightjs';
export class FallbackComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: BinaryModel
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

constructor(public changeRef: ChangeDetectorRef, public router: Router) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ import {TableComponent} from "../../common/table/table.component";
export class ImmunizationComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: ImmunizationModel
@Input() showDetails: boolean = true

isCollapsed: boolean = false
@Input() isCollapsed: boolean = false

tableData: TableRowItem[] = []

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ import {LocationModel} from '../../../../../lib/models/resources/location-model'
export class LocationComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: LocationModel
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

isCollapsed: boolean = false
tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import {BinaryComponent} from '../binary/binary.component';
export class MediaComponent implements OnInit, FhirCardComponentInterface{
@Input() displayModel: MediaModel
@Input() showDetails: boolean = true
isCollapsed: boolean = false
@Input() isCollapsed: boolean = false
tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ import {GlossaryLookupComponent} from '../../../glossary-lookup/glossary-lookup.
export class MedicationRequestComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: MedicationRequestModel | null
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

//these are used to populate the description of the resource. May not be available for all resources
resourceCode?: string;
resourceCodeSystem?: string;

isCollapsed: boolean = false

tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,12 @@ import * as _ from "lodash";
export class MedicationComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: MedicationModel
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

//these are used to populate the description of the resource. May not be available for all resources
resourceCode?: string;
resourceCodeSystem?: string;

isCollapsed: boolean = false

tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ import {NgChartsModule} from 'ng2-charts';
export class ObservationComponent implements OnInit {
@Input() displayModel: ObservationModel
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

isCollapsed: boolean = false
tableData: TableRowItem[] = []

//observation chart data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ import {OrganizationModel} from '../../../../../lib/models/resources/organizatio
export class OrganizationComponent implements OnInit {
@Input() displayModel: OrganizationModel
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

isCollapsed: boolean = false
tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ import {TableComponent} from "../../common/table/table.component";
export class PractitionerComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: PractitionerModel | null
@Input() showDetails: boolean = true

isCollapsed: boolean = false
@Input() isCollapsed: boolean = false

tableData: TableRowItem[] = []

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,12 @@ import {GlossaryLookupComponent} from '../../../glossary-lookup/glossary-lookup.
export class ProcedureComponent implements OnInit, FhirCardComponentInterface {
@Input() displayModel: ProcedureModel | null
@Input() showDetails: boolean = true
@Input() isCollapsed: boolean = false

//these are used to populate the description of the resource. May not be available for all resources
resourceCode?: string;
resourceCodeSystem?: string;

isCollapsed: boolean = false

tableData: TableRowItem[] = []

constructor(public changeRef: ChangeDetectorRef, public router: Router) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,25 +28,26 @@ <h4 class="modal-title"> Medical Record Wizard</h4>
<ng-template ngbNavContent>
<div>
<h6 class="card-title">Encounter</h6>
<p class="card-text">
<p class="card-text mg-b-10">
An Encounter refers to a meeting or interaction with a healthcare provider, such as a doctor's appointment, surgery or a visit to discuss and address your health concerns
</p>
</div>
<fhir-card [showDetails]="false" [displayModel]="existingEncounter"></fhir-card>
<fhir-card [showDetails]="false" [displayModel]="existingEncounter" [isCollapsed]="true"></fhir-card>

</ng-template>
</ng-container>
<ng-container ngbNavItem="medications">
<a class="nav-link" ngbNavLink>Medications</a>
<ng-template ngbNavContent>

<div>
<h6 class="card-title">Medications</h6>
<p class="card-text">
<p class="card-text mg-b-10">
Medications are a type of treatment, usually in the form of pills, liquids, or injections, prescribed by doctors to help your body fight off illnesses, manage symptoms, or improve overall health.
</p>
</div>

<fhir-card *ngFor="let medication of existingEncounter?.related_resources?.['Medication']" [showDetails]="false" [displayModel]="medication" [isCollapsed]="true"></fhir-card>

<ng-container formArrayName="medications">
<div class="card mg-t-10 pd-20" [formGroup]="medicationGroup" *ngFor="let medicationGroup of medications.controls; let i = index">
<div *ngIf="debugMode" class="alert alert-warning">
Expand Down Expand Up @@ -131,11 +132,14 @@ <h6 class="card-title">Medications</h6>
<ng-template ngbNavContent>
<div>
<h6 class="card-title">Major Surgeries and Implants</h6>
<p class="card-text">
<p class="card-text mg-b-10">
Surgery is a medical procedure where doctors use special tools to fix, remove, or improve something inside your body to help you feel better or get healthier.
</p>
</div>

<fhir-card *ngFor="let procedure of existingEncounter?.related_resources?.['Procedure']" [showDetails]="false" [displayModel]="procedure" [isCollapsed]="true"></fhir-card>


<ng-container formArrayName="procedures">
<div class="card mg-t-10 pd-20" [formGroup]="procedureGroup" *ngFor="let procedureGroup of procedures.controls; let i = index">
<div *ngIf="debugMode" class="alert alert-warning">
Expand Down Expand Up @@ -214,9 +218,11 @@ <h6 class="card-title">Major Surgeries and Implants</h6>
<ng-template ngbNavContent>
<div>
<h6 class="card-title">Medical Practitioners</h6>
<p class="card-text">A practitioner is a healthcare professional, such as a doctor or nurse, who is trained and qualified to provide medical care and support to help you stay healthy or manage any health concerns you may have.</p>
<p class="card-text mg-b-10">A practitioner is a healthcare professional, such as a doctor or nurse, who is trained and qualified to provide medical care and support to help you stay healthy or manage any health concerns you may have.</p>
</div>

<fhir-card *ngFor="let practitioner of existingEncounter?.related_resources?.['Practitioner']" [showDetails]="false" [displayModel]="practitioner" [isCollapsed]="true"></fhir-card>

<ng-container formArrayName="practitioners">
<div class="card mg-t-10 pd-20" [formGroup]="practitionerGroup" *ngFor="let practitionerGroup of practitioners.controls; let i = index">
<div *ngIf="debugMode" class="alert alert-warning">
Expand Down Expand Up @@ -272,10 +278,12 @@ <h6 class="card-title">Medical Practitioners</h6>
<ng-template ngbNavContent>
<div>
<h6 class="card-title">Medical Location/Organizations</h6>
<p class="card-text">A group of healthcare professionals and staff working together, like a hospital or clinic, to provide coordinated and effective care for patients
<p class="card-text mg-b-10">A group of healthcare professionals and staff working together, like a hospital or clinic, to provide coordinated and effective care for patients
</p>
</div>

<fhir-card *ngFor="let organization of existingEncounter?.related_resources?.['Organization']" [showDetails]="false" [displayModel]="organization" [isCollapsed]="true"></fhir-card>

<ng-container formArrayName="organizations">
<div class="card mg-t-10 pd-20" [formGroup]="organizationGroup" *ngFor="let organizationGroup of organizations.controls; let i = index">
<div *ngIf="debugMode" class="alert alert-warning">
Expand Down