package Ġorg . simple . clin ic . patient Ċ Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġorg . simple . clin ic . app config . Country Ċ import Ġorg . simple . clin ic . bp . Blood Pressure Measurement Ċ import Ġorg . simple . clin ic . drug s . Pre scribed Dr ug Ċ import Ġorg . simple . clin ic . facility . Facility Ċ import Ġorg . simple . clin ic . facility . Facility Payload Ċ import Ġorg . simple . clin ic . home . over due . Over due Appointment Ċ import Ġorg . simple . clin ic . location . Coordinates Ċ import Ġorg . simple . clin ic . medical history . Answer Ċ import Ġorg . simple . clin ic . medical history . Answer . No Ċ import Ġorg . simple . clin ic . medical history . Answer . Yes Ċ import Ġorg . simple . clin ic . medical history . Medical History Ċ import Ġorg . simple . clin ic . over due . Appointment Ċ import Ġorg . simple . clin ic . over due . Appointment Cancel Reason Ċ import Ġorg . simple . clin ic . patient . Reminder Consent . Granted Ċ import Ġorg . simple . clin ic . patient . business id . Business Id Ċ import Ġorg . simple . clin ic . patient . business id . Identifier Ċ import Ġorg . simple . clin ic . protocol . Protocol Dr ug Ċ import Ġorg . simple . clin ic . user . LoggedIn User Payload Ċ import Ġorg . simple . clin ic . user . User Ċ import Ġorg . simple . clin ic . user . User Status Ċ import Ġorg . simple . clin ic . util . generate Encounter Uuid Ċ import Ġorg . simple . clin ic . util . random Gender Ċ import Ġorg . simple . clin ic . util . random Patient PhoneNumber Type Ċ import Ġorg . simple . clin ic . util . to LocalDate At Zone Ċ import Ġorg . th reet en . bp . Instant Ċ import Ġorg . th reet en . bp . LocalDate Ċ import Ġorg . th reet en . bp . Zone Offset . UTC Ċ import Ġjava . net . URI Ċ import Ġjava . util . Random Ċ import Ġjava . util . UUID Ċ import Ġkotlin . reflect . K Class Ċ Ċ private Ġfun Ġ< T Ġ: ĠEnum < T >> Ġrandom Of Enum ( enum Class : ĠK Class < T >): ĠT Ġ{ ĊĠ Ġreturn Ġenum Class . java . enum Constants !!. asList (). sh uffled (). first () Ċ } Ċ Ċ object ĠPatient M ocker Ġ{ ĊĊĠ Ġprivate Ġval Ġrandom Ġ= ĠRandom () ĊĊĠ Ġfun Ġpatient ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġaddress Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ ĠfullName : ĠString Ġ= Ġ" name ", ĊĠĠĠĠĠ Ġsync Status : ĠSync Status Ġ= Ġrandom Of Enum ( Sync Status :: class ), ĊĠĠĠĠĠ Ġstatus : ĠPatient Status Ġ= ĠPatient Status . Active , ĊĠĠĠĠĠ Ġgender : ĠGender Ġ= Ġrandom Gender (), ĊĠĠĠĠĠ Ġdate OfBirth : ĠLocalDate ? Ġ= ĠLocalDate . now ( UTC ), ĊĠĠĠĠĠ Ġage : ĠAge ? Ġ= Ġnull , ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġrecorded At : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull ĊĠ Ġ): ĠPatient Ġ{ ĊĠĠĠ Ġreturn ĠPatient ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ Ġaddress Uuid Ġ= Ġaddress Uuid , ĊĠĠĠĠĠĠĠ ĠfullName Ġ= ĠfullName , ĊĠĠĠĠĠĠĠ Ġgender Ġ= Ġgender , ĊĠĠĠĠĠĠĠ Ġdate OfBirth Ġ= Ġdate OfBirth , ĊĠĠĠĠĠĠĠ Ġage Ġ= Ġage , ĊĠĠĠĠĠĠĠ Ġstatus Ġ= Ġstatus , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At , ĊĠĠĠĠĠĠĠ Ġrecorded At Ġ= Ġrecorded At , ĊĠĠĠĠĠĠĠ Ġsync Status Ġ= Ġsync Status , ĊĠĠĠĠĠĠĠ Ġreminder Consent Ġ= ĠGr anted ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġfun Ġaddress ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġstreet Address : ĠString ? Ġ= Ġ" street Ġaddress ", ĊĠĠĠĠĠ Ġcol ony Or V illage : ĠString ? Ġ= Ġ" col ony / v illage ", ĊĠĠĠĠĠ Ġdistrict : ĠString Ġ= Ġ" district ", ĊĠĠĠĠĠ Ġzone : ĠString ? Ġ= Ġ" zone ", ĊĠĠĠĠĠ Ġstate : ĠString Ġ= Ġ" state ", ĊĠĠĠĠĠ Ġcountry : ĠString Ġ= Ġ" In dia ", ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull ĊĠ Ġ): ĠPatient Address Ġ{ ĊĠĠĠ Ġreturn ĠPatient Address ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ Ġstreet Address Ġ= Ġstreet Address , ĊĠĠĠĠĠĠĠ Ġcol ony Or V illage Ġ= Ġcol ony Or V illage , ĊĠĠĠĠĠĠĠ Ġzone Ġ= Ġzone , ĊĠĠĠĠĠĠĠ Ġdistrict Ġ= Ġdistrict , ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġstate , ĊĠĠĠĠĠĠĠ Ġcountry Ġ= Ġcountry , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At ) ĊĠ Ġ} ĊĊĠ Ġfun Ġbp ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġpatient Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġsyst olic : ĠInt Ġ= Ġrandom . nextInt ( 1 0 0 ) Ġ+ Ġ 1 0 0 , ĊĠĠĠĠĠ Ġdi ast olic : ĠInt Ġ= Ġrandom . nextInt ( 1 0 0 ), ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġsync Status : ĠSync Status Ġ= Ġrandom Of Enum ( Sync Status :: class ), ĊĠĠĠĠĠ Ġuser Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġfacility Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġrecorded At : ĠInstant Ġ= ĠInstant . now () ĊĠ Ġ): ĠB lood Pressure Measurement Ġ{ ĊĠĠĠ Ġreturn ĠB lood Pressure Measurement ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ Ġsyst olic Ġ= Ġsyst olic , ĊĠĠĠĠĠĠĠ Ġdi ast olic Ġ= Ġdi ast olic , ĊĠĠĠĠĠĠĠ Ġsync Status Ġ= Ġsync Status , ĊĠĠĠĠĠĠĠ Ġuser Uuid Ġ= Ġuser Uuid , ĊĠĠĠĠĠĠĠ Ġfacility Uuid Ġ= Ġfacility Uuid , ĊĠĠĠĠĠĠĠ Ġpatient Uuid Ġ= Ġpatient Uuid , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At , ĊĠĠĠĠĠĠĠ Ġrecorded At Ġ= Ġrecorded At , ĊĠĠĠĠĠĠĠ Ġencounter Uuid Ġ= Ġgenerate Encounter Uuid ( facility Uuid , Ġpatient Uuid , Ġrecorded At . to LocalDate At Zone ( UTC )) ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġfun Ġfacility ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= Ġmock (), ĊĠĠĠĠĠ Ġname : ĠString Ġ= Ġ" some Ġfacility ", ĊĠĠĠĠĠ Ġstreet Address : ĠString ? Ġ= Ġ" some Ġstreet ", ĊĠĠĠĠĠ Ġdistrict : ĠString Ġ= Ġ" district ", ĊĠĠĠĠĠ Ġstate : ĠString Ġ= Ġ" state ", ĊĠĠĠĠĠ Ġfacility Type : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġv illage Or Col ony : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġcountry : ĠString Ġ= Ġ" In dia ", ĊĠĠĠĠĠ Ġpin Code : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġprotocol Uuid : ĠUUID ? Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġgroup Uuid : ĠUUID ? Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġlocation : ĠCoordinates ? Ġ= ĠCoordinates ( latitude Ġ= Ġ 1 . 9 0 8 5 3 7 , Ġlongitude Ġ= Ġ 7 3 . 5 3 7 5 2 4 ), ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġsync Status : ĠSync Status Ġ= Ġrandom Of Enum ( Sync Status :: class ) ĊĠ Ġ): ĠFac ility Ġ{ ĊĠĠĠ Ġreturn ĠFac ility ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠ Ġfacility Type Ġ= Ġfacility Type , ĊĠĠĠĠĠĠĠ Ġstreet Address Ġ= Ġstreet Address , ĊĠĠĠĠĠĠĠ Ġv illage Or Col ony Ġ= Ġv illage Or Col ony , ĊĠĠĠĠĠĠĠ Ġdistrict Ġ= Ġdistrict , ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġstate , ĊĠĠĠĠĠĠĠ Ġcountry Ġ= Ġcountry , ĊĠĠĠĠĠĠĠ Ġpin Code Ġ= Ġpin Code , ĊĠĠĠĠĠĠĠ Ġprotocol Uuid Ġ= Ġprotocol Uuid , ĊĠĠĠĠĠĠĠ Ġgroup Uuid Ġ= Ġgroup Uuid , ĊĠĠĠĠĠĠĠ Ġlocation Ġ= Ġlocation , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġsync Status Ġ= Ġsync Status , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At ) ĊĠ Ġ} ĊĊĠ Ġfun Ġfacility Payload ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= Ġmock (), ĊĠĠĠĠĠ Ġname : ĠString Ġ= Ġ" some Ġfacility ", ĊĠĠĠĠĠ Ġstreet Address : ĠString ? Ġ= Ġ" some Ġstreet ", ĊĠĠĠĠĠ Ġdistrict : ĠString Ġ= Ġ" district ", ĊĠĠĠĠĠ Ġstate : ĠString Ġ= Ġ" state ", ĊĠĠĠĠĠ Ġfacility Type : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġv illage Or Col ony : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġcountry : ĠString Ġ= Ġ" In dia ", ĊĠĠĠĠĠ Ġpin Code : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġprotocol Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġgroup Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġlocation Latitude : ĠDouble ? Ġ= Ġ 1 . 9 0 8 5 3 7 , ĊĠĠĠĠĠ Ġlocation Longitude : ĠDouble ? Ġ= Ġ 7 3 . 5 3 7 5 2 4 , ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull ĊĠ Ġ): ĠFac ility Payload Ġ{ ĊĠĠĠ Ġreturn ĠFac ility Payload ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠ Ġfacility Type Ġ= Ġfacility Type , ĊĠĠĠĠĠĠĠ Ġstreet Address Ġ= Ġstreet Address , ĊĠĠĠĠĠĠĠ Ġv illage Or Col ony Ġ= Ġv illage Or Col ony , ĊĠĠĠĠĠĠĠ Ġdistrict Ġ= Ġdistrict , ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġstate , ĊĠĠĠĠĠĠĠ Ġcountry Ġ= Ġcountry , ĊĠĠĠĠĠĠĠ Ġpin Code Ġ= Ġpin Code , ĊĠĠĠĠĠĠĠ Ġprotocol Uuid Ġ= Ġprotocol Uuid , ĊĠĠĠĠĠĠĠ Ġgroup Uuid Ġ= Ġgroup Uuid , ĊĠĠĠĠĠĠĠ Ġlocation Latitude Ġ= Ġlocation Latitude , ĊĠĠĠĠĠĠĠ Ġlocation Longitude Ġ= Ġlocation Longitude , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At ) ĊĠ Ġ} ĊĊĠ Ġfun Ġpre scription ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= Ġmock (), ĊĠĠĠĠĠ Ġname : ĠString Ġ= Ġ" drug Ġname ", ĊĠĠĠĠĠ Ġdos age : ĠString ? Ġ= Ġ" dos age ", ĊĠĠĠĠĠ Ġis Protocol Dr ug : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠ Ġsync Status : ĠSync Status Ġ= Ġrandom Of Enum ( Sync Status :: class ), ĊĠĠĠĠĠ Ġpatient Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġfacility Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġis Deleted : ĠBoolean Ġ= Ġfalse ĊĠ Ġ): ĠPre scribed Dr ug Ġ{ ĊĠĠĠ Ġreturn ĠPre scribed Dr ug ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠ Ġdos age Ġ= Ġdos age , ĊĠĠĠĠĠĠĠ Ġrx Norm Code Ġ= Ġ" rx - norm - code ", ĊĠĠĠĠĠĠĠ Ġis Deleted Ġ= Ġis Deleted , ĊĠĠĠĠĠĠĠ Ġis Protocol Dr ug Ġ= Ġis Protocol Dr ug , ĊĠĠĠĠĠĠĠ Ġpatient Uuid Ġ= Ġpatient Uuid , ĊĠĠĠĠĠĠĠ Ġfacility Uuid Ġ= Ġfacility Uuid , ĊĠĠĠĠĠĠĠ Ġsync Status Ġ= Ġsync Status , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At ) ĊĠ Ġ} ĊĊĠ Ġfun Ġprotocol Dr ug ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġname : ĠString Ġ= Ġ" drug Ġname ", ĊĠĠĠĠĠ Ġdos age : ĠString Ġ= Ġ" 5 mg ", ĊĠĠĠĠĠ Ġprotocol Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġorder : ĠInt Ġ= Ġ 0 ĊĠ Ġ): ĠProtocol Dr ug Ġ{ ĊĠĠĠ Ġreturn ĠProtocol Dr ug ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠ Ġrx Norm Code Ġ= Ġ" rx norm code - 1 ", ĊĠĠĠĠĠĠĠ Ġdos age Ġ= Ġdos age , ĊĠĠĠĠĠĠĠ Ġprotocol Uuid Ġ= Ġprotocol Uuid , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At , ĊĠĠĠĠĠĠĠ Ġorder Ġ= Ġorder ) ĊĠ Ġ} ĊĊĠ Ġfun Ġappointment ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġpatient Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġscheduled Date : ĠLocalDate Ġ= ĠLocalDate . now ( UTC ), ĊĠĠĠĠĠ Ġfacility Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġstatus : ĠAppointment . Status Ġ= ĠAppointment . Status . Scheduled , ĊĠĠĠĠĠ Ġcancel Reason : ĠAppointment Cancel Reason ? Ġ= ĠAppointment Cancel Reason . Patient Not Resp on ding , ĊĠĠĠĠĠ Ġsync Status : ĠSync Status Ġ= ĠSync Status . PENDING , ĊĠĠĠĠĠ Ġagreed To Visit : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġrem ind On : ĠLocalDate ? Ġ= ĠLocalDate . now ( UTC ). minus Days ( 2 ), ĊĠĠĠĠĠ Ġappointment Type : ĠAppointment . Appointment Type Ġ= ĠAppointment . Appointment Type . random (), ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull ĊĠ Ġ): ĠAppointment Ġ{ ĊĠĠĠ Ġreturn ĠAppointment ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ Ġpatient Uuid Ġ= Ġpatient Uuid , ĊĠĠĠĠĠĠĠ Ġfacility Uuid Ġ= Ġfacility Uuid , ĊĠĠĠĠĠĠĠ Ġscheduled Date Ġ= Ġscheduled Date , ĊĠĠĠĠĠĠĠ Ġstatus Ġ= Ġstatus , ĊĠĠĠĠĠĠĠ Ġcancel Reason Ġ= Ġcancel Reason , ĊĠĠĠĠĠĠĠ Ġrem ind On Ġ= Ġrem ind On , ĊĠĠĠĠĠĠĠ Ġagreed To Visit Ġ= Ġagreed To Visit , ĊĠĠĠĠĠĠĠ Ġappointment Type Ġ= Ġappointment Type , ĊĠĠĠĠĠĠĠ Ġsync Status Ġ= Ġsync Status , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġfun Ġover due Appointment ( ĊĠĠĠĠĠ Ġuser Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġfacility Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġpatient Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġbp Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ ĠphoneNumber Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġappointment Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġname : ĠString Ġ= Ġ" some body ", ĊĠĠĠĠĠ Ġblood Pressure Measurement : ĠB lood Pressure Measurement Ġ= Ġbp ( ĊĠĠĠĠĠĠĠĠĠ Ġuuid Ġ= Ġbp Uuid , ĊĠĠĠĠĠĠĠĠĠ Ġuser Uuid Ġ= Ġuser Uuid , ĊĠĠĠĠĠĠĠĠĠ Ġfacility Uuid Ġ= Ġfacility Uuid , ĊĠĠĠĠĠĠĠĠĠ Ġpatient Uuid Ġ= Ġpatient Uuid ĊĠĠĠĠĠ Ġ), ĊĠĠĠĠĠ Ġrisk Level Index : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġrisk Level : ĠOver due Appointment . Risk Level ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġgender : ĠGender Ġ= ĠGender . Trans gender , ĊĠĠĠĠĠ Ġdate OfBirth : ĠLocalDate ? Ġ= ĠLocalDate . now ( UTC ). minus Years ( 3 0 ), ĊĠĠĠĠĠ Ġage : ĠAge ? Ġ= Ġnull , ĊĠĠĠĠĠ ĠphoneNumber : ĠPatient PhoneNumber ? Ġ= ĠphoneNumber ( uuid Ġ= ĠphoneNumber Uuid , Ġpatient Uuid Ġ= Ġpatient Uuid ), ĊĠĠĠĠĠ Ġappointment : ĠAppointment Ġ= Ġappointment ( uuid Ġ= Ġappointment Uuid , Ġpatient Uuid Ġ= Ġpatient Uuid , Ġfacility Uuid Ġ= Ġfacility Uuid ) ĊĠ Ġ): ĠOver due Appointment Ġ{ ĊĠĠĠ Ġif Ġ(( risk Level Ġ== Ġnull ) Ġ== Ġ( risk Level Index Ġ== Ġnull )) Ġ{ ĊĠĠĠĠĠ Ġthrow ĠAssertionError (" Both Ġrisk Level Ġand Ġrisk Level Index Ġcannot Ġbe Ġnull Ġor Ġnon - null ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcalculated Risk Level Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠ Ġrisk Level Ġ!= Ġnull Ġ-> Ġrisk Level . level Index ĊĠĠĠĠĠ Ġrisk Level Index Ġ!= Ġnull Ġ-> Ġrisk Level Index ĊĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠAssertionError (" Both Ġrisk Level Ġand Ġrisk Level Index Ġcannot Ġbe Ġnull ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn ĠOver due Appointment ( ĊĠĠĠĠĠĠĠ ĠfullName Ġ= Ġname , ĊĠĠĠĠĠĠĠ Ġgender Ġ= Ġgender , ĊĠĠĠĠĠĠĠ Ġdate OfBirth Ġ= Ġdate OfBirth , ĊĠĠĠĠĠĠĠ Ġage Ġ= Ġage , ĊĠĠĠĠĠĠĠ ĠphoneNumber Ġ= ĠphoneNumber , ĊĠĠĠĠĠĠĠ Ġappointment Ġ= Ġappointment , ĊĠĠĠĠĠĠĠ Ġblood Pressure Ġ= Ġblood Pressure Measurement , ĊĠĠĠĠĠĠĠ Ġrisk Level Index Ġ= Ġcalculated Risk Level ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġfun Ġlogged In User ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġname : ĠString Ġ= Ġ" a Ġname ", ĊĠĠĠĠĠ Ġphone : ĠString Ġ= Ġ" a Ġphone ", ĊĠĠĠĠĠ Ġpin Digest : ĠString Ġ= Ġ" a Ġhash ", ĊĠĠĠĠĠ Ġstatus : ĠUser Status Ġ= ĠUser Status . Waiting For Approval , ĊĠĠĠĠĠ Ġlogged In Status : ĠUser . LoggedIn Status Ġ= ĠUser . LoggedIn Status . LOG GED _ IN , ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now () ĊĠ Ġ): ĠUser Ġ{ ĊĠĠĠ Ġreturn ĠUser ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ ĠfullName Ġ= Ġname , ĊĠĠĠĠĠĠĠ ĠphoneNumber Ġ= Ġphone , ĊĠĠĠĠĠĠĠ Ġpin Digest Ġ= Ġpin Digest , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ Ġstatus Ġ= Ġstatus , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġlogged In Status Ġ= Ġlogged In Status ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġfun Ġlogged In User Payload ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġname : ĠString Ġ= Ġ" a Ġname ", ĊĠĠĠĠĠ Ġphone : ĠString Ġ= Ġ" a Ġphone ", ĊĠĠĠĠĠ Ġpin Digest : ĠString Ġ= Ġ" a Ġhash ", ĊĠĠĠĠĠ Ġregistration Facility Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġstatus : ĠUser Status Ġ= ĠUser Status . Waiting For Approval , ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now () ĊĠ Ġ): ĠLog ged In User Payload Ġ{ ĊĠĠĠ Ġreturn ĠLog ged In User Payload ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ ĠfullName Ġ= Ġname , ĊĠĠĠĠĠĠĠ ĠphoneNumber Ġ= Ġphone , ĊĠĠĠĠĠĠĠ Ġpin Digest Ġ= Ġpin Digest , ĊĠĠĠĠĠĠĠ Ġregistration Facility Id Ġ= Ġregistration Facility Uuid , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ Ġstatus Ġ= Ġstatus , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt ) ĊĠ Ġ} ĊĊĠ Ġfun Ġpatient SearchResult ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ ĠfullName : ĠString Ġ= Ġ" A sh ok ĠK umar ", ĊĠĠĠĠĠ ĠphoneNumber : ĠString Ġ= Ġ" 3 . 1 4 1 5 9 " ĊĠ Ġ): ĠPatient SearchResult Ġ{ ĊĠĠĠ Ġreturn ĠPatient SearchResult ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠĠĠ ĠfullName Ġ= ĠfullName , ĊĠĠĠĠĠĠĠ Ġgender Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ Ġdate OfBirth Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġage Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ Ġstatus Ġ= ĠPatient Status . Active , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ Ġaddress Ġ= Ġaddress (), ĊĠĠĠĠĠĠĠ Ġsync Status Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ ĠphoneNumber Ġ= ĠphoneNumber , ĊĠĠĠĠĠĠĠ Ġphone Type Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ Ġphone Uuid Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ Ġphone Active Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġphone CreatedAt Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ Ġphone UpdatedAt Ġ= Ġmock (), ĊĠĠĠĠĠĠĠ Ġlast Bp Ġ= ĠPatient SearchResult . Last Bp ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuuid Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtaken On Ġ= ĠInstant . now (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtaken At Facility Name Ġ= Ġ" Some ĠFac ility ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtaken At Facility Uuid Ġ= ĠUUID . randomUUID ())) ĊĠ Ġ} ĊĊĠ Ġfun Ġmedical History ( ĊĠĠĠĠĠ Ġhas H ad Heart Attack : ĠAnswer Ġ= ĠYes , ĊĠĠĠĠĠ Ġhas H ad Stroke : ĠAnswer Ġ= ĠNo , ĊĠĠĠĠĠ Ġhas H ad K id ney D isease : ĠAnswer Ġ= ĠYes , ĊĠĠĠĠĠ Ġdiag no sed With Hy pert ension : ĠAnswer Ġ= ĠNo , ĊĠĠĠĠĠ Ġis On T reatment For Hy pert ension : ĠAnswer Ġ= ĠYes , ĊĠĠĠĠĠ Ġhas Di abet es : ĠAnswer Ġ= ĠYes , ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġsync Status : ĠSync Status Ġ= ĠSync Status . PENDING , ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull ĊĠ Ġ): ĠMedical History Ġ{ ĊĠĠĠ Ġreturn ĠMedical History ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠ Ġpatient Uuid Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠ Ġdiag no sed With Hy pert ension Ġ= Ġdiag no sed With Hy pert ension , ĊĠĠĠĠĠĠĠ Ġis On T reatment For Hy pert ension Ġ= Ġis On T reatment For Hy pert ension , ĊĠĠĠĠĠĠĠ Ġhas H ad Heart Attack Ġ= Ġhas H ad Heart Attack , ĊĠĠĠĠĠĠĠ Ġhas H ad Stroke Ġ= Ġhas H ad Stroke , ĊĠĠĠĠĠĠĠ Ġhas H ad K id ney D isease Ġ= Ġhas H ad K id ney D isease , ĊĠĠĠĠĠĠĠ Ġhas Di abet es Ġ= Ġhas Di abet es , ĊĠĠĠĠĠĠĠ Ġsync Status Ġ= Ġsync Status , ĊĠĠĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At ) ĊĠ Ġ} ĊĊĠ Ġfun ĠphoneNumber ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġpatient Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġnumber : ĠString Ġ= Ġ" 1 1 1 1 1 1 1 1 1 1 ", ĊĠĠĠĠĠ Ġphone Type : ĠPatient PhoneNumber Type Ġ= Ġrandom Patient PhoneNumber Type (), ĊĠĠĠĠĠ Ġactive : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull ĊĠ Ġ) Ġ= ĠPatient PhoneNumber ( ĊĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠ Ġpatient Uuid Ġ= Ġpatient Uuid , ĊĠĠĠĠĠ Ġnumber Ġ= Ġnumber , ĊĠĠĠĠĠ Ġphone Type Ġ= Ġphone Type , ĊĠĠĠĠĠ Ġactive Ġ= Ġactive , ĊĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At ĊĠ Ġ) ĊĊĠ Ġfun Ġrecent Patient ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ ĠfullName : ĠString Ġ= Ġ" fullName ", ĊĠĠĠĠĠ Ġgender : ĠGender Ġ= Ġrandom Gender (), ĊĠĠĠĠĠ Ġdate OfBirth : ĠLocalDate ? Ġ= Ġnull , ĊĠĠĠĠĠ Ġage : ĠAge ? Ġ= Ġnull , ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now () ĊĠ Ġ) Ġ= ĠRecent Patient ( ĊĠĠĠĠĠ Ġuuid Ġ= Ġuuid , ĊĠĠĠĠĠ ĠfullName Ġ= ĠfullName , ĊĠĠĠĠĠ Ġgender Ġ= Ġgender , ĊĠĠĠĠĠ Ġdate OfBirth Ġ= Ġdate OfBirth , ĊĠĠĠĠĠ Ġage Ġ= Ġage , ĊĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt ĊĠ Ġ) ĊĊĠ Ġfun Ġbusiness Id ( ĊĠĠĠĠĠ Ġuuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġpatient Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġidentifier : ĠIdentifier Ġ= ĠIdentifier ( UUID . randomUUID (). toString (), ĠIdentifier . Identifier Type . random ()), ĊĠĠĠĠĠ ĠmetaData Version : ĠBusiness Id . MetaData Version Ġ= ĠBusiness Id . MetaData Version . random (), ĊĠĠĠĠĠ Ġmetadata : ĠString Ġ= Ġ" meta ", ĊĠĠĠĠĠ ĠcreatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ ĠupdatedAt : ĠInstant Ġ= ĠInstant . now (), ĊĠĠĠĠĠ Ġdeleted At : ĠInstant ? Ġ= Ġnull ĊĠ Ġ) Ġ= ĠBusiness Id ( uuid Ġ= Ġuuid , ĊĠĠĠĠĠ Ġpatient Uuid Ġ= Ġpatient Uuid , ĊĠĠĠĠĠ Ġidentifier Ġ= Ġidentifier , ĊĠĠĠĠĠ ĠmetaData Ġ= Ġmetadata , ĊĠĠĠĠĠ ĠmetaData Version Ġ= ĠmetaData Version , ĊĠĠĠĠĠ ĠcreatedAt Ġ= ĠcreatedAt , ĊĠĠĠĠĠ ĠupdatedAt Ġ= ĠupdatedAt , ĊĠĠĠĠĠ Ġdeleted At Ġ= Ġdeleted At ) ĊĊĠ Ġfun Ġpatient Profile ( ĊĠĠĠĠĠ Ġpatient Uuid : ĠUUID Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠ Ġaddress Uuid : ĠUUID Ġ= ĠUUID . randomUUID () ĊĠ Ġ): ĠPatient Profile Ġ{ ĊĠĠĠ Ġreturn ĠPatient Profile ( ĊĠĠĠĠĠĠĠ Ġpatient Ġ= Ġpatient ( uuid Ġ= Ġpatient Uuid , Ġaddress Uuid Ġ= Ġaddress Uuid ), ĊĠĠĠĠĠĠĠ Ġaddress Ġ= Ġaddress ( uuid Ġ= Ġaddress Uuid ), ĊĠĠĠĠĠĠĠ Ġphone Numbers Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġbusiness Ids Ġ= Ġempty List () ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġfun Ġcountry ( ĊĠĠĠĠĠ Ġiso CountryCode : ĠString Ġ= Ġ" IN ", ĊĠĠĠĠĠ Ġendpoint : ĠString Ġ= Ġ" https :// simple . org ", ĊĠĠĠĠĠ ĠdisplayName : ĠString Ġ= Ġ" In dia ", ĊĠĠĠĠĠ Ġis d Code : ĠString Ġ= Ġ" 9 1 " ĊĠ Ġ): ĠCountry Ġ{ ĊĠĠĠ Ġreturn ĠCountry ( ĊĠĠĠĠĠĠĠ Ġiso CountryCode Ġ= Ġiso CountryCode , ĊĠĠĠĠĠĠĠ Ġendpoint Ġ= ĠURI . create ( endpoint ), ĊĠĠĠĠĠĠĠ ĠdisplayName Ġ= ĠdisplayName , ĊĠĠĠĠĠĠĠ Ġis d Code Ġ= Ġis d Code ĊĠĠĠ Ġ) ĊĠ Ġ} Ċ } Ċ