/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠOn a ĠSystems , ĠInc Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . smart register . fhir core . anc . ui . details . v ital sign s Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġjavax . inject . Inject Ċ import Ġorg . smart register . fhir core . anc . R Ċ import Ġorg . smart register . fhir core . anc . data . model . Encounter Item Ċ import Ġorg . smart register . fhir core . anc . data . model . Patient V ital Item Ċ import Ġorg . smart register . fhir core . anc . databinding . Fragment V ital Details Binding Ċ import Ġorg . smart register . fhir core . anc . ui . an cc are . shared . An c Item Mapper Ċ import Ġorg . smart register . fhir core . anc . ui . details . adapter . All erg ies Adapter Ċ import Ġorg . smart register . fhir core . anc . ui . details . adapter . Conditions Adapter Ċ import Ġorg . smart register . fhir core . anc . ui . details . adapter . Encounter Adapter Ċ import Ġorg . smart register . fhir core . engine . ui . question naire . Questionnaire Activity Ċ import Ġorg . smart register . fhir core . engine . util . extension . hide Ċ import Ġorg . smart register . fhir core . engine . util . extension . show Ċ Ċ @ Android EntryPoint Ċ class ĠV ital Sign s Details Fragment Ġ: ĠFragment () Ġ{ ĊĊĠ Ġ@ Inject Ġlateinit Ġvar Ġall erg ies Adapter : ĠAll erg ies Adapter ĊĊĠ Ġ@ Inject Ġlateinit Ġvar Ġconditions Adapter : ĠConditions Adapter ĊĊĠ Ġ@ Inject Ġlateinit Ġvar Ġencounter Adapter : ĠEn counter Adapter ĊĊĠ Ġlateinit Ġvar Ġbinding : ĠFragment V ital Details Binding ĊĊĠ Ġval Ġanc Details ViewModel Ġby Ġview Models < V ital Sign s Details ViewModel >() ĊĊĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠ Ġ): ĠView Ġ{ ĊĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( in flater , ĠR . layout . fragment _ v ital _ details , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġreturn Ġbinding . root ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠ Ġval Ġpatient Id Ġ= Ġarguments ?. getString ( Questionnaire Activity . QUEST ION NA I RE _ ARG _ PAT IENT _ KEY ) Ġ?: Ġ"" ĊĊĠĠĠ Ġsetup Views () ĊĊĠĠĠ Ġanc Details ViewModel . patient Repository . set An c Item Mapper Type ( ĊĠĠĠĠĠ ĠAn c Item Mapper . An c Item Mapper Type . DETAILS ĊĠĠĠ Ġ) ĊĠĠĠ Ġanc Details ViewModel ĊĠĠĠĠĠ Ġ. fetch En counters ( patient Id ) ĊĠĠĠĠĠ Ġ. observe ( view Lifecycle Owner , Ġthis :: handle En counters ) ĊĊĠĠĠ Ġanc Details ViewModel ĊĠĠĠĠĠ Ġ. fetch V ital Sign s ( patient Id ) ĊĠĠĠĠĠ Ġ. observe ( view Lifecycle Owner , Ġthis :: handle V ital Sign s ) ĊĊĠĠĠ Ġbinding . swipe Container . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠ Ġanc Details ViewModel ĊĠĠĠĠĠĠĠ Ġ. fetch V ital Sign s ( patient Id ) ĊĠĠĠĠĠĠĠ Ġ. observe ( view Lifecycle Owner , Ġthis :: handle V ital Sign s ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbinding . swipe Container . setColor Scheme Resources ( ĊĠĠĠĠĠ ĠR . color . color Primary , ĊĠĠĠĠĠ ĠR . color . color Primary Light , ĊĠĠĠĠĠ ĠR . color . color Accent , ĊĠĠĠĠĠ ĠR . color . color Primary Light D ull ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġhandle En counters ( list En counters : ĠList < Encounter Item >) Ġ{ ĊĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠ Ġlist En counters . isEmpty () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġtxt View No Encounter . show () ĊĠĠĠĠĠĠĠĠĠ Ġencounter ListView . hide () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġtxt View No Encounter . hide () ĊĠĠĠĠĠĠĠĠĠ Ġencounter ListView . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġencounter Adapter . submit List ( list En counters ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġv ital Sign String OrDefault ( ĊĠĠĠ Ġv ital Sign String : ĠString , ĊĠĠĠ Ġdefault String : ĠString Ġ= Ġ"-" ĊĠ Ġ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( v ital Sign String . isEmpty ()) Ġdefault String Ġelse Ġv ital Sign String ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġhandle V ital Sign s ( patient V ital Item : ĠPatient V ital Item ) Ġ{ ĊĠĠĠ Ġbinding . swipe Container . is Refresh ing Ġ= Ġfalse ĊĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠ Ġtxt View Weight Value . text Ġ= Ġv ital Sign String OrDefault ( patient V ital Item . weight ) ĊĠĠĠĠĠ Ġtxt View Weight Unit . text Ġ= Ġpatient V ital Item . weight Unit ĊĠĠĠĠĠ Ġtxt View Height Value . text Ġ= Ġv ital Sign String OrDefault ( patient V ital Item . height ) ĊĠĠĠĠĠ Ġtxt View Height Unit . text Ġ= Ġpatient V ital Item . height Unit ĊĠĠĠĠĠ Ġtxt View Bg Value . text Ġ= Ġv ital Sign String OrDefault ( patient V ital Item . bg ) ĊĠĠĠĠĠ Ġtxt View Bg Unit . text Ġ= Ġpatient V ital Item . bg Unit ĊĠĠĠĠĠ Ġtxt View Sp Value . text Ġ= Ġv ital Sign String OrDefault ( patient V ital Item . sp O 2 ) ĊĠĠĠĠĠ Ġtxt View Sp Unit . text Ġ= Ġpatient V ital Item . sp O 2 Unit ĊĠĠĠĠĠ Ġtxt View Pulse Value . text Ġ= Ġv ital Sign String OrDefault ( patient V ital Item . pulse ) ĊĠĠĠĠĠ Ġtxt View Pulse Unit . text Ġ= Ġpatient V ital Item . pulse Unit ĊĠĠĠĠĠ Ġtxt View Bp Value . text Ġ= Ġv ital Sign String OrDefault ( patient V ital Item . bps ) ĊĠĠĠĠĠ Ġtxt View Bp Unit . text Ġ= Ġpatient V ital Item . bps Unit ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġsetup Views () Ġ{ ĊĠĠĠ Ġbinding . all erg ies ListView . apply Ġ{ ĊĠĠĠĠĠ Ġadapter Ġ= Ġall erg ies Adapter ĊĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( require Context ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . conditions ListView . apply Ġ{ ĊĠĠĠĠĠ Ġadapter Ġ= Ġconditions Adapter ĊĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( require Context ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . en counter ListView . apply Ġ{ ĊĠĠĠĠĠ Ġadapter Ġ= Ġencounter Adapter ĊĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( require Context ()) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" V ital Sign s Details Fragment " ĊĊĠĠĠ Ġfun Ġnew Instance ( bundle : ĠBundle Ġ= ĠBundle ()) Ġ= ĊĠĠĠĠĠ ĠV ital Sign s Details Fragment (). apply Ġ{ Ġarguments Ġ= Ġbundle Ġ} ĊĠ Ġ} Ċ } Ċ