'Telemedpro ' . ($i + 1), 'email' => 'telemedpro' . ($i + 1) . '@example.com', 'phone' => '123-456-789' . $i, ]); } */ $faker = Faker::create(); for ($i = 500; $i < 800; $i++) { $patient = Patient::create([ 'first_name' => $faker->firstName, 'last_name' => $faker->lastName, 'email' => $faker->unique()->safeEmail, 'phone' => $faker->phoneNumber, 'password' => bcrypt("12345"), 'address' => $faker->address, 'city' => $faker->city, 'state' => $faker->state, 'zip_code' => $faker->postcode, 'lat' => $faker->latitude, 'long' => $faker->longitude, 'dob' => $faker->date($format = 'Y-m-d', $max = 'now'), 'recording_switch' => $faker->boolean, 'country' => $faker->country, 'phone_no' => $faker->phoneNumber, 'shipping_address' => $faker->address, 'shipping_city' => $faker->city, 'shipping_state' => $faker->state, 'shipping_country' => $faker->country, 'shipping_zipcode' => $faker->postcode, 'timezone' => 'UTC', 'gender' => $faker->randomElement(['male', 'female']), 'marital_status' => $faker->randomElement(['single', 'married']), 'height' => $faker->numberBetween(150, 200), // Height in cm 'weight' => $faker->numberBetween(50, 100) // Weight in kg ]); PatientRegActivity::create([ 'patient_id' => $patient->id, 'activity' => 'patient_registered' ]); $plans = PlanV1::all(); PatientPlan::create([ 'patient_id' => $patient->id, 'plan_id' => $plans->random()->id, ]); /* } */ $telemedpros = Telemedpro::all(); #$patients = Patient::all(); /* for ($i = 0; $i < 50; $i++) { */ $telemedpro = $telemedpros->random(); #$patient = $patients->random(); #$appointmentTime = Carbon::now()->addDays(rand(0, 30))->addHours(rand(0, 23))->addMinutes(rand(0, 59)); $appointmentTime = Carbon::now()->subMonth()->addDays(rand(0, 30))->addHours(rand(0, 23))->addMinutes(rand(0, 59)); $duration = rand(15, 120); // Duration between 15 minutes to 2 hours $startTime = $appointmentTime; $endTime = $startTime->copy()->addMinutes($duration); $appointment = Appointment::create([ 'telemed_pros_id' => $telemedpro->id, 'patient_id' => $patient->id, 'appointment_time' => $appointmentTime->toDateTimeString(), 'in_call' => rand(0, 1), 'meeting_id' => Str::uuid(), 'agent_call_token' => Str::random(20), 'patient_call_token' => Str::random(20), 'video_token' => Str::random(20), 'appointment_date' => $appointmentTime->toDateString(), 'patient_email' => $patient->email, 'patient_name' => $patient->name, 'timezone' => 'UTC', 'analytics' => json_encode(['metric1' => rand(0, 100), 'metric2' => rand(0, 100)]), 'start_time' => $startTime->toDateTimeString(), 'end_time' => $endTime->toDateTimeString(), 'duration' => $duration ]); $statusOptions = ['delivered', 'pending']; $labkit = LabKit::inRandomOrder()->first(); $cart = new Cart(); $cart->lab_kit_id = $labkit->id; $cart->first_name = $patient->first_name; $cart->last_name = $patient->last_name; $cart->email = $patient->email; $cart->phone = $patient->phone; $cart->status = $statusOptions[array_rand($statusOptions)]; $cart->date_of_birth = $patient->dob; $cart->patient_id = $patient->id; $cart->shipping_address1 = $faker->streetAddress; $cart->shipping_address2 = $faker->secondaryAddress; $cart->shipping_city = $faker->city; $cart->shipping_state = $faker->state; $cart->shipping_zipcode = $faker->postcode; $cart->shipping_country = $faker->country; $cart->billing_address1 = $faker->streetAddress; $cart->billing_address2 = $faker->secondaryAddress; $cart->billing_city = $faker->city; $cart->billing_state = $faker->state; $cart->billing_zipcode = $faker->postcode; $cart->billing_country = $faker->country; $cart->shipping_amount = $faker->randomFloat(2, 5, 20); // Random shipping amount between $5 and $20 $cart->total_amount = $faker->randomFloat(2, 50, 200); // Random total amount between $50 and $200 $cart->save(); $prescription = Prescription::inRandomOrder()->first(); PatientPrescription::create([ 'patient_id' => $patient->id, 'appointment_id' => $appointment->id, 'prescription_id' => $prescription->id, 'direction_one' => $faker->sentence, 'direction_two' => $faker->sentence, 'dont_substitute' => rand(0, 1), 'comments' => $faker->sentence, 'status' => $statusOptions[array_rand($statusOptions)], ]); $addNotePatient = PatientNote::create([ 'note' => "Patient didn't send back test kit yet", 'note_type' => "Notes", 'patient_id' => $patient->id, 'appointment_id' => $appointment->id, 'telemed_pros_id' => $telemedpro->id ]); $category = ProfileCategory::where("category_link", 'weight_loss')->first(); $jsonString = '{ "weight_lb": "42", "height_feet": "5", "height_inches": "2", "expecting": "not_applicable", "evaluate_weight_loss": "yes", "weight_management": "no", "caloric_intake": "yes", "physical_activity": "no", "weightloss_goal": "yes", "medical_evaluation": "less_then_a_year_ago", "lab_tests_completed": "no", "comorbidities": [ "high_cholesterol", "fatty_liver_disease" ], "chronic_pancreatitis": [ "none_of_the_above" ], "smoke_alcohol": null, "family_history_thyroid_cancer": [ "none_of_above_them" ], "kindney_history": [ "appointment_or_consultation_with", "history_of_solitary_kidney_or_kidney_transplant" ] }'; $questionBuilderData = []; // Convert JSON string to PHP array $data = json_decode($jsonString, true); foreach ($data as $key => $value) { if (is_array($value)) { $value = serialize($value); } if (!empty($value)) { $questionBuilderData[] = [ 'key' => $key, 'value' => $value, 'profile_category_id' => $category->id, 'customer_id' => $patient->id ]; } } $questionBuilder = QuestionBuilder::insert($questionBuilderData); } } }