From 77b26ed7908ee0ec162b4b4e58f29b67aec1ad0b Mon Sep 17 00:00:00 2001 From: yaso Date: Fri, 29 Nov 2024 11:37:17 +0200 Subject: [PATCH] create icd10 code object --- Frontend/lib/mih_apis/mih_icd10_code_api.dart | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Frontend/lib/mih_apis/mih_icd10_code_api.dart diff --git a/Frontend/lib/mih_apis/mih_icd10_code_api.dart b/Frontend/lib/mih_apis/mih_icd10_code_api.dart new file mode 100644 index 00000000..79fce4d0 --- /dev/null +++ b/Frontend/lib/mih_apis/mih_icd10_code_api.dart @@ -0,0 +1,55 @@ +import 'dart:convert'; + +import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; +import 'package:Mzansi_Innovation_Hub/mih_objects/icd10_code.dart.dart'; +import 'package:flutter/material.dart'; +import 'package:supertokens_flutter/http.dart' as http; + +import '../mih_env/env.dart'; + +class MIHIcd10CodeApis { + final baseAPI = AppEnviroment.baseApiUrl; + + /// This function is used to fetch a list of icd 10 codes based on a search . + /// + /// Patameters: String search, BuildContext context + /// + /// Returns List. + static Future> getIcd10Codes( + String search, BuildContext context) async { + //print("Patien manager page: $endpoint"); + mihLoadingPopUp(context); + + final response = await http + .get(Uri.parse("${AppEnviroment.baseApiUrl}/icd10-codes/$search")); + // print("Here"); + // print("Body: ${response.body}"); + // print("Code: ${response.statusCode}"); + // errorCode = response.statusCode.toString(); + // errorBody = response.body; + + if (response.statusCode == 200) { + //print("Here1"); + Iterable l = jsonDecode(response.body); + //print("Here2"); + List icd10Codes = + List.from(l.map((model) => ICD10Code.fromJson(model))); + //print("Here3"); + //print(patientQueue); + Navigator.of(context).pop(); + return icd10Codes; + } else { + Navigator.of(context).pop(); + throw Exception('failed to fetch icd-10 codes with api'); + } + } + + static void mihLoadingPopUp(BuildContext context) { + showDialog( + context: context, + builder: (context) { + return const Mihloadingcircle(); + }, + ); + } +}