API v4
Users
HF Authentication
- POST /api4/Users/mobile_auth
User login
Parse as json:
{ "place_code": "010206", "Imei": "869501020203870" }
Response as json:
{ "Name_Prov_K": "Banteay mean chey", "Name_OD_K": "Poi Pet", "Is_Enable_VMW_Report": 1, "Is_Enable_Investigation_Report": 1, "Is_Enable_Reactive_Report": 1, "Is_Enable_SMS_Alert": 1, "Is_Enable_Stock": 1, "Is_Radical_Cure": 1, "Is_Radical_Cure_HSD": 1, "Name_Facility_K": "Kob", "Code_Facility_T": "010206", "IsReminder": null, "BedNetView": 1, "BedNetEdit": 1, "BedNetDelete": 1, "HCCaseDelete": 1, "HCCaseEdit": 1, "VMWCaseDelete": 1, "VMWCaseEdit": 1, "PopView": 1, "PopEdit": 1, "User_Role": "HC", "Phone": "0974930445" }
VMW Authentication
- POST /api4/Users/mobile_auth
User login
Parse as json:
{ "place_code": "1406010100", "Imei": "863338030163372" }
Response as json:
{ "Name_Prov_K": "Preyveng", "Name_Dist_K": "Peamchor", "Name_Comm_K": "Angkor Ang", "Name_Vill_K": "Angkor Ang (M)", "Code_Vill_T": "1406010100", "Name_Facility_K": "Angkor Ang", "Is_Radical_Cure": 1, "Is_Radical_Cure_HSD": 1, "IsLastmile": 0, "IsReminder": 1, "User_Role": "VMW", "Phone": null }
Note
place_code if length of place_code is 6 digits, it is HF code
place_code if length of place_code is 10 digits, it is Village code
Logout
- POST /api4/Users/logout
Logout from device
Parse as json:
{ "code": "123456" }
Response as json (correct code):
{ "logout": true }
Response as json (incorrect code):
{ "logout": false }
Location
- POST /api4/Users/location
Log location of device
Parse as json:
{ "Lat": "123456", "Lon": "223454354", "Imei": "123456789", "HC_Code": "010206" }
Log device information
- POST /api4/Users/phone_info
Log information of device
Parse as json:
{ "Model_Name": "Samsung", "Phone_Number": "223454354", "Imei": "123456789", "HC_Code": "010206" }
HF Activity case
Insert
- POST /api4/Reports/hf_activity_cases
Insert new case
Parse as json:
{ "HF_Activity_Cases": [ { "Month": "07", "Year": "2021", "DateCase": "2021-07-01", "NameK": "Test Patient", "PatientPhone": "010123456789", "Code_Vill_t": "1406010100", "Sex": "F", "Age": 25, "Weight": 99, "Temperature": 40, "Diagnosistext": "Simple", "Microscopy": false, "RDT": true, "Diagnosis": "N", "NumberTests": 1, "UUID": "799440634c87b27f", "User_Code_Fa_T": "140612" }, { "Month": "07", "Year": "2021", "DateCase": "2021-07-01", "NameK": "Test Patient", "PatientPhone": "010123456789", "Code_Vill_t": "1406010100", "Sex": "M", "Age": 25, "Weight": 99, "Temperature": 40, "PregnantMTHS": "", "Diagnosistext": "Simple", "Microscopy": false, "RDT": true, "Diagnosis": "F", "Treatment": "ASMQ", "Refered": true, "ReferedReason": "", "ReferedOtherReason": "", "Dead": false, "Relapse": 0, "L1": 1, "LC": 0, "LC_Code": "1004050523", "IMP": 0, "IMP_Text": "Thai", "G6PDHb": 15, "G6PDdL": 15, "IsACT": "Yes", "IsConsult": "Yes", "IsPrimaquine": "Yes", "Primaquine15": 0, "Primaquine75": 15, "NumberTests": 1, "UUID": "799440634c87b27f", "User_Code_Fa_T": "140612" } ] }
- Response JSON Object
ReferedReason (string) – Blank/Severe/Other.
ReferedOtherReason (string) – Available when ReferedReason value is Other.
Update
- POST /api4/Reports/update_hf_activity_case
Update case
Parse as json:
{ "HFCase": { "Rec_ID": 1101492, "Dead": false, "Diagnosistext": "Simple", "Microscopy": false, "RDT": true, "ServiceText": "", "Temperature": 39, "Weight": 56, "Age": 22, "Code_Vill_t": "1406010100", "DateCase": "2021-06-04", "Diagnosis": "V", "G6PDHb": "16", "G6PDdL": "16", "IMP_Text": "", "IsPrimaquine": "1", "LC_Code": "", "Month": "06", "NameK": "test1", "OtherTreatment": "", "PatientPhone": "1234567", "PregnantMTHS": "N", "Primaquine75": 46, "ReferedOtherReason": "", "ReferedReason": "", "Relapse": 1, "Sex": "M", "Treatment": "ASMQ", "UUID": "172eb328d808e45f", "User_Code_Fa_T": "140612", "Year": "2021" } }
Delete
- POST /api4/Reports/delete_hf_activity_case
Delete case
- Query Parameters
year (int) – year of report, e.g: 2020,2021,…
month (string) – month of report, e.g: 01, 02, …, 12
hc_code (string) – code of health facility
rec_id (int) – primary key of row
List
- POST /api4/Reports/hc_data
Retrieve case data
- Query Parameters
year (int) – year of report, e.g: 2020,2021,…
month (string) – month of report, e.g: 01, 02, …, 12
hc_code (string) – code of health facility
Response as json:
[ { "Year": "2021", "Month": "12", "DateCase": "2021-12-09 00:00:00.000", "Code_Prov_T": "15", "Code_Dist_T": "1504", "Code_Comm_T": "150406", "Code_Vill_t": "1504060300", "PassProvince": null, "PassDistrict": null, "PassCommune": null, "PassAddress": null, "NameK": "Vannra", "Age": 29, "AgeType": "Y", "Sex": "M", "PregnantMTHS": "N", "DiagnosisText": "Simple", "ServiceText": "", "Microscopy": 1, "RDT": 0, "Diagnosis": "F", "Treatment": "Other", "OtherTreatment": "Moru stady", "Refered": 0, "ReferedReason": "", "ReferedOtherReason": "", "Dead": 0, "ID": "150301", "UUID": "02b9a6cd50ddd32b", "NumberTests": 1, "Rec_ID": 1180704, "Is_Mobile_Entry": 1, "Weight": 62, "Temperature": "38", "PatientCode": "", "PatientPhone": "066408991", "G6PD": null, "PQTreatment": "", "IsConsult": null, "IsACT": null, "IsPrimaquine": "0", "Primaquine15": null, "Primaquine75": null, "PrimaquineDate": null, "G6PDdL": null, "G6PDHb": null, "Relapse": 0, "L1": 0, "LC": 1, "IMP": null, "LC_Province": null, "LC_District": null, "LC_Commune": null, "LC_Code": "Pursat", "IMP_Text": null, "Fingerprint": null }, { "Year": "2021", "Month": "12", "DateCase": "2021-12-10 00:00:00.000", "Code_Prov_T": null, "Code_Dist_T": null, "Code_Comm_T": null, "Code_Vill_t": "", "PassProvince": null, "PassDistrict": null, "PassCommune": null, "PassAddress": null, "NameK": "", "Age": 64, "AgeType": "Y", "Sex": "F", "PregnantMTHS": "N", "DiagnosisText": "Simple", "ServiceText": null, "Microscopy": 0, "RDT": 1, "Diagnosis": "N", "Treatment": null, "OtherTreatment": null, "Refered": 0, "ReferedReason": null, "ReferedOtherReason": null, "Dead": 0, "ID": "150301", "UUID": "02b9a6cd50ddd32b", "NumberTests": 1, "Rec_ID": 1180984, "Is_Mobile_Entry": 1, "Weight": 0, "Temperature": "37", "PatientCode": null, "PatientPhone": "", "G6PD": null, "PQTreatment": null, "IsConsult": null, "IsACT": null, "IsPrimaquine": null, "Primaquine15": null, "Primaquine75": null, "PrimaquineDate": null, "G6PDdL": null, "G6PDHb": null, "Relapse": null, "L1": null, "LC": null, "IMP": null, "LC_Province": null, "LC_District": null, "LC_Commune": null, "LC_Code": null, "IMP_Text": null, "Fingerprint": null } ]
VMW Activity case
Insert
- POST /api4/Reports/vmw_activity_cases
Insert new case
Parse as json:
{ "VMW_Activity_Cases": [ { "Month": "07", "Year": "2021", "Age": 88, "Sex": "M", "Diagnosis": "N", "NumberTests": 1, "HC_Code": "", "UUID": "799440634c87b27f", "User_Code_Fa_T": "1406010100" }, { "Month": "07", "Year": "2021", "DateCase": "2021-07-01", "NameK": "test", "PatientPhone": "3333333333", "Sex": "M", "Age": 25, "PregnantMTHS": "", "Weight": 25.5, "Temperature": 39.5, "Mobile": "N", "Diagnosis": "F", "Treatment": "ASMQ", "TreatmentPill": 10, "OtherTreatment": "ASMQ", "DOT1": 1, "ReferedReason": "PV", "ReferedOtherReason": "", "Relapse": 0, "L1": 0, "LC": 1, "LC_Code": "1004050523", "IMP": 1, "IMP_Text": "Thai", "G6PDHb": 15, "G6PDdL": 15, "IsACT": "Yes", "IsConsult": "Yes", "IsPrimaquine": "Yes", "Primaquine15": 0, "Primaquine75": 15, "NumberTests": 1, "Remark": "", "UUID": "799440634c87b27f", "User_Code_Fa_T": "1406010100", "HC_Code": "" } ] }
- Response JSON Object
ReferedReason (string) – Blank/Severe/Other.
ReferedOtherReason (string) – Available when ReferedReason value is Other.
Update
- POST /api4/Reports/update_vmw_activity_case
Update case
Parse as json:
{ "VMWCase": { "Rec_ID": 2563751, "Month": "02", "Year": "2020", "DateCase": "2020-02-01", "NameK": "test", "PatientPhone": "0123456789", "Sex": "M", "Age": 25, "PregnantMTHS": "", "Weight": 25.5, "Temperature": 39.5, "Mobile": "N", "Diagnosis": "F", "Treatment": "ASMQ", "TreatmentPill": 10, "OtherTreatment": "ASMQ", "DOT1": 1, "ReferedReason": "PV", "ReferedOtherReason": "", "Relapse": 0, "L1": 0, "LC": 1, "LC_Code": "1004050523", "IMP": 1, "IMP_Text": "Thai", "G6PDHb": 15, "G6PDdL": 15, "IsACT": "Yes", "IsConsult": "Yes", "IsPrimaquine": "Yes", "Primaquine15": 0, "Primaquine75": 15, "NumberTests": 1, "Remark": "", "User_Code_Fa_T": "1406010100", "UUID": "799440634c87b27f", "PatientCode": "AA0743" } }
Delete
- POST /api4/Reports/delete_vmw_activity_case
Delete case
- Query Parameters
year (int) – year of report, e.g: 2020,2021,…
month (string) – month of report, e.g: 01, 02, …, 12
village_code (string) – code of village
rec_id (int) – primary key of row
List
- POST /api4/Reports/search_patient
Retrieve case data
- Query Parameters
year (int) – year of report, e.g: 2020,2021,…
month (string) – month of report, e.g: 01, 02, …, 12
hc_code (string) – code of health facility
Response as json:
[ { "Code_Vill_T": "1406010100", "Year": "2021", "Month": "06", "DateCase": "2021-06-18 00:00:00.000", "NameK": "ឌិណា", "Age": 36, "AgeType": "Y", "Sex": "M", "PregnantMTHS": "N", "Weight": 60, "Temperature": 39, "Mobile": "N", "Diagnosis": "V", "Treatment": "ASMQ", "ReferedReason": "PV Radical Cure", "ReferedOtherReason": null, "OtherTreatment": "", "DOT1": 0, "Dot3days": 0, "Refered": 1, "Dead": 0, "Remark": null, "ID": "1406010100", "UUID": "172eb328d808e45f", "NumberTests": 1, "Rec_ID": 2636965, "Is_Mobile_Entry": 1, "Passive": 0, "PatientCode": "AA2957", "PatientPhone": "1234688", "PQTreatment": null, "G6PD": null, "IsConsult": null, "IsACT": null, "IsPrimaquine": "1", "Primaquine15": null, "Primaquine75": 42, "PrimaquineDate": "2021-06-18", "G6PDdL": "15.00", "G6PDHb": "14.00", "Relapse": 0, "L1": 1, "LC": null, "IMP": null, "LC_Province": null, "LC_District": null, "LC_Commune": null, "LC_Code": null, "Primaquine": null, "ASMQ": 1, "IMP_Text": null, "Fingerprint": null } ]
Reactive case
List
- GET /api4/ReactiveCase/list
Retrieve list data
- Query Parameters
year (int) – year of report, e.g: 2020,2021,…
month (string) – month of report, e.g: 01, 02, …, 12
HC_Code (string) – code of health facility
Response as json:
{ "code": 200, "message": "success", "data": [ { "Passive_Case_Id": "2648747_VMW", "Case_Type": "VMW", "ID": "1406010100", "Name_K": "សុខា", "Diagnosis": "V", "Year": "2021", "Month": "06", "Code_Vill_t": "1406010100", "Age": 22, "Gender": "M", "PatientPhone": "0789456123", "Is_Reactive": 2, "HCCode": "140612" }, { "Passive_Case_Id": "2636965_VMW", "Case_Type": "VMW", "ID": "1406010100", "Name_K": "ឌិណា", "Diagnosis": "V", "Year": "2021", "Month": "06", "Code_Vill_t": "1406010100", "Age": 36, "Gender": "M", "PatientPhone": "1234688", "Is_Reactive": 4, "HCCode": "140612" } ] }
Detail
- GET /api4/ReactiveCase/detail
Retrieve detail information
- Query Parameters
Passive_Case_Id (string) – Passive case ID, e.g: 1092112_HC, 1092112_VMW (Rec_ID + _HC / Rec_ID + _VMW)
Response as json:
{ "code": 200, "message": "success", "data": [ { "Rec_ID": 1553, "Passive_Case_Id": "1092112_HC", "DateCase": "2021-05-28", "PatientCode": null, "PatientName": "a 01", "PatientIDCard": "07893444", "PatientPhone": "153886", "PatientAge": 36, "PatientSex": "M", "Lat": 11.5946862, "Long": 104.8611213, "Code_Vill_T": "1406010100", "ForestSleep": "Other", "ForestSleepOther": "yyh", "Workplace": null, "WorkplaceOther": null, "Shelter": "House", "Bednet": "No", "InvestigationDate": "2021-05-28", "Investigator": "tghh", "InvestigatorJob": "test", "InvestigatorPhone": "480666", "Classify": "LC", "HouseNumber": 1, "Member": "02", "Age": 25, "Sex": "M", "Missing": "Absent", "Diagnosis": "N", "Treatment": null, "TreatmentOther": null, "Fever": 1, "Forest": 0, "Travel": 0, "History": 0, "Relative": 0, "InitTime": "2021-05-28 13:35:52.583", "Code_Prov_T": "14", "Code_OD_T": "1406", "Code_Facility_T": "140612" }, { "Rec_ID": 1554, "Passive_Case_Id": "1092112_HC", "DateCase": "2021-05-28", "PatientCode": null, "PatientName": "a 01", "PatientIDCard": "07893444", "PatientPhone": "153886", "PatientAge": 36, "PatientSex": "M", "Lat": 11.5946862, "Long": 104.8611213, "Code_Vill_T": "1406010100", "ForestSleep": "Other", "ForestSleepOther": "yyh", "Workplace": null, "WorkplaceOther": null, "Shelter": "House", "Bednet": "No", "InvestigationDate": "2021-05-28", "Investigator": "tghh", "InvestigatorJob": "test", "InvestigatorPhone": "480666", "Classify": "LC", "HouseNumber": 102, "Member": "03", "Age": 55, "Sex": "F", "Missing": "Reject", "Diagnosis": "F", "Treatment": "ASMQ", "TreatmentOther": null, "Fever": 0, "Forest": 1, "Travel": 1, "History": 1, "Relative": 1, "InitTime": "2021-05-28 13:35:52.587", "Code_Prov_T": "14", "Code_OD_T": "1406", "Code_Facility_T": "140612" } ] }
Update
- POST /api4/ReactiveCase/update
Insert/Update data
Parse as json:
{ "Reactive_Activity_Cases": [ { "Age": 25, "Bednet": "No", "Classify": "LC", "Code_Vill_T": "1406010100", "DateCase": "2021-05-28", "Diagnosis": "N", "Fever": 1, "Forest": 0, "ForestSleep": "Other", "ForestSleepOther": "yyh", "History": 0, "HouseNumber": "01", "Id": "", "InvestigationDate": "2021-05-28", "Investigation_Case_Id": "", "Investigator": "tghh", "InvestigatorJob": "test", "InvestigatorPhone": "480666", "Is_Mobile_Entry": 0, "Lat": 11.5946862, "Long": 104.8611213, "Member": "02", "Missing": "Absent", "Passive_Case_Id": "1092112_HC", "PatientAge": 36, "PatientIDCard": "07893444", "PatientName": "a 01", "PatientPhone": "153886", "PatientSex": "M", "Relative": 0, "Sex": "M", "Shelter": "House", "Travel": 0, "UUID": "799440634c87b27f", "User_Code_Fa_T": "140612", "User_Id": "140612" }, { "Age": 55, "Bednet": "No", "Classify": "LC", "Code_Vill_T": "1406010100", "DateCase": "2021-05-28", "Diagnosis": "F", "Fever": 0, "Forest": 1, "ForestSleep": "Other", "ForestSleepOther": "yyh", "History": 1, "HouseNumber": "0102", "Id": "", "InvestigationDate": "2021-05-28", "Investigation_Case_Id": "", "Investigator": "tghh", "InvestigatorJob": "test", "InvestigatorPhone": "480666", "Is_Mobile_Entry": 0, "Lat": 11.5946862, "Long": 104.8611213, "Member": "03", "Missing": "Reject", "Passive_Case_Id": "1092112_HC", "PatientAge": 36, "PatientIDCard": "07893444", "PatientName": "a 01", "PatientPhone": "153886", "PatientSex": "M", "Relative": 1, "Sex": "F", "Shelter": "House", "Travel": 1, "Treatment": "ASMQ", "UUID": "799440634c87b27f", "User_Code_Fa_T": "140612", "User_Id": "140612" } ] }
Note
if Id = “” it will insert new data
if Id != “” it will update data
Stock data
Stock close
- POST /api4/ReactiveCase/update
Insert/Update data
Parse as json:
{ "HC_Code": 123456, "Year": 2021, "Month": "01", "Data": [ { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 34, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 38, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 39, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 40, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 41, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 28, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 25, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "10", "Estimate": "-7", "ItemId": 26, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "10", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "727", "Estimate": "-624.833", "ItemId": 27, "Note": "", "StockIn": "500", "StockOut": "52", "StockStart": "279", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "1803", "Estimate": "-1,144.167", "ItemId": 29, "Note": "", "StockIn": "1300", "StockOut": "61", "StockStart": "564", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "1343", "Estimate": "-1,246.167", "ItemId": 32, "Note": "", "StockIn": "1000", "StockOut": "120", "StockStart": "463", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 30, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "172", "Estimate": "-126.667", "ItemId": 13, "Note": "", "StockIn": "200", "StockOut": "43", "StockStart": "15", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "58", "Estimate": "-51", "ItemId": 33, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "58", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 17, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "2021-12-12" }, { "Adjustment": "0", "Balance": "0", "Estimate": "0", "ItemId": 18, "Note": "", "StockIn": "0", "StockOut": "0", "StockStart": "0", "Expire": "" } ] }
Report
Population
Form and data
- POST /api4/Population/pop_village
show form with data
Parse as json:
{ "hc_code": "150301", "year": 2021 }
Response as json:
[ { "Code_Vill_T": "1504020100", "Name_Vill_K": "Leach", "Distance": 9, "Pop": 1307, "MobilePop": 0, "HHold": 324 }, { "Code_Vill_T": "1504020200", "Name_Vill_K": "Pich Ban", "Distance": 0, "Pop": 1511, "MobilePop": 0, "HHold": 385 } ]
Insert/Update Population
- POST /api4/Population/update_pop_village
Insert / update population
Parse as json:
{ "PopVillage": [ { "Code_Vill_T": "1406010200", "Distance": 4.6, "HHold": 0, "MobilePop": 0, "Pop": "0", "Year": "2021" }, { "Code_Vill_T": "1406010300", "Distance": 6, "HHold": 0, "MobilePop": 0, "Pop": "0", "Year": "2021" }, { "Code_Vill_T": "1406010400", "Distance": 0, "HHold": 0, "MobilePop": 0, "Pop": "0", "Year": "2021" }, { "Code_Vill_T": "1406010100", "Distance": 0, "HHold": 0, "MobilePop": 0, "Pop": "0", "Year": "2021" } ] }
Bednet
Bednet form
- POST /api4/BedNet/form
Insert / update population
Parse as json:
{ "hc_code": "140612", "month": 12, "year": 2021 }
Response as json:
[ { "Code_Comm_T": "140601", "Name_Comm_K": "Angkor Ang", "Code_Vill_T": "1406010200", "Name_Vill_K": "Praek Treng", "VillCode": "1406010200", "LLIN": 1, "LLIHN": 1, "Campaign": 1, "Continued": 0, "Mobile": 0 } ]
Bednet Insert/Update
- POST /api4/BedNet/update
Insert / update population
Parse as json:
{ "month": 12, "year": 2021, "hc_code": "010210", "data": [ { "Year": "2021", "Month": "12", "ID": "010210", "VillCode": "0109061001", "LLIN": 256, "LLIHN": 256, "Campaign": 0, "Continued": 0, "Mobile": 1 }, { "Year": "2019", "Month": "01", "ID": "010210", "VillCode": "0109061000", "LLIN": 256, "LLIHN": 256, "Campaign": 0, "Continued": 0, "Mobile": 1 } ] }
Dashboard
Malaria status
- POST /api4/Reports/vill_surveillance
Retrieve data
Parse as json:
{ "hc_code": "150301", "year": 2021, "mt": "01", "mf": "12" }
Response as json:
[ { "Code": "1504020100", "Name_Vill_K": "Leach", "TotalTestLastYear": 5, "TotalTestThisYear": 2, "TotalCaseLastYear": 5, "TotalCaseThisYear": 2, "PfLastYear": 3, "PfThisYear": 0, "PvLastYear": 2, "PvThisYear": 2, "MixLastYear": 0, "MixThisYear": 0, "PositiveRateLastYear": "100", "PositiveRateThisYear": "100" }, { "Code": "1504020200", "Name_Vill_K": "Pich ban", "TotalTestLastYear": 9, "TotalTestThisYear": 6, "TotalCaseLastYear": 9, "TotalCaseThisYear": 6, "PfLastYear": 2, "PfThisYear": 1, "PvLastYear": 7, "PvThisYear": 5, "MixLastYear": 0, "MixThisYear": 0, "PositiveRateLastYear": "100", "PositiveRateThisYear": "100" } ]
API of villages (chart)
- POST /api4/Reports/vill_surveillance
Retrieve data
Parse as json:
{ "hc_code": "150301", "year": 2021, "mt": "01", "mf": "12" }
Response as json:
[ { "Code_Vill_T": "0209050100", "Name_Vill_K": "Srae Onduong 1", "VillLat": 12.570106, "VillLong": 102.738759, "HFLat": 12.645585, "HFLong": 102.76089, "Pop": 498, "Positive": 0, "HFPositive": 0, "VMWPositive": 0, "API": ".000000000000" }, { "Code_Vill_T": "0209050200", "Name_Vill_K": "Chhork Roka", "VillLat": 12.57063, "VillLong": 102.740888, "HFLat": 12.645585, "HFLong": 102.76089, "Pop": 1768, "Positive": 0, "HFPositive": 0, "VMWPositive": 0, "API": ".000000000000" } ]
Cases (chart)
- POST /api4/Chart/cases
Retrieve data
Parse as json:
{ "hc_code": "150301", "year": 2021, "mt": "01", "mf": "12" }
Response as json:
[ { "Month": "01", "pf": 10, "pv": 138, "mix": 2, "TotalCases": 150 }, { "Month": "02", "pf": 13, "pv": 96, "mix": 1, "TotalCases": 110 }, { "Month": "03", "pf": 5, "pv": 84, "mix": 0, "TotalCases": 89 }, { "Month": "04", "pf": 4, "pv": 85, "mix": 0, "TotalCases": 89 }, { "Month": "05", "pf": 1, "pv": 78, "mix": 0, "TotalCases": 79 }, { "Month": "06", "pf": 7, "pv": 77, "mix": 4, "TotalCases": 88 }, { "Month": "07", "pf": 11, "pv": 90, "mix": 0, "TotalCases": 101 }, { "Month": "08", "pf": 1, "pv": 69, "mix": 2, "TotalCases": 72 }, { "Month": "09", "pf": 0, "pv": 43, "mix": 0, "TotalCases": 43 }, { "Month": "10", "pf": 4, "pv": 54, "mix": 0, "TotalCases": 58 }, { "Month": "11", "pf": 1, "pv": 46, "mix": 0, "TotalCases": 47 }, { "Month": "12", "pf": 2, "pv": 32, "mix": 0, "TotalCases": 34 } ]
Top 10 villages (chart)
- POST /api4/Chart/piechart
Retrieve data
Parse as json:
{ "hc_code": "150301", "year": 2021, "mt": "01", "mf": "12" }
Response as json:
[ { "Code_Vill_T": "0209050301", "Name_Vill_K": "Outa toeng", "Positive": 4, "TotalCases": 15, "API": "26.666666666600" }, { "Code_Vill_T": "0209050601", "Name_Vill_K": "Prolean", "Positive": 4, "TotalCases": 15, "API": "26.666666666600" }, { "Code_Vill_T": "0209050400", "Name_Vill_K": "Kantout", "Positive": 3, "TotalCases": 15, "API": "20.000000000000" } ]
Pv Radical cure
HF patient follow up list
- GET /api4/HFFollowup/list
Retrieve list data
- Query Parameters
year (int) – year of report, e.g: 2020,2021,…
month (string) – month of report, e.g: 01, 02, …, 12
hc_code (string) – code of health facility
Response as json:
{ "code": 200, "message": "success", "data": [ { "Code_Vill_T": "1406010400", "Name_Vill_K": "veal ro bong", "PatientCode": "AA4397", "NameK": "sa", "Sex": "M", "Age": 55, "PatientPhone": null, "HaveVMW": 0, "Case_ID": "1139092", "Type": "HC", "Day3": 0, "Day3Date": "2021-09-02", "Day7": 1, "Day7Date": "2021-09-06", "Day14": 1, "Day14Date": "2021-09-13" }, { "Code_Vill_T": "1406010400", "Name_Vill_K": "veal ro bong", "PatientCode": "AA4414", "NameK": "soda", "Sex": "M", "Age": 66, "PatientPhone": null, "HaveVMW": 0, "Case_ID": "1140082", "Type": "HC", "Day3": 0, "Day3Date": "2021-09-03", "Day7": 1, "Day7Date": "2021-09-07", "Day14": 1, "Day14Date": "2021-09-14" } ] }
HF follow up detail
- GET /api4/HFFollowup/detail
Retrieve detail data
- Query Parameters
patient_code (string) – patient code, e.g: AA1234
day (string) – day of follow up, e.g: Day3, Day7, Day14
case_id (string) – Rec_ID of case get from tblHFActivityCases
Response as json:
{ "code": 200, "message": "success", "data": { "Rec_ID": 313, "Case_ID": "1139092", "Code_Vill_T": null, "PatientCode": "AA4397", "Day": "Day3", "Date": "2021-09-02", "Call": "Yes", "Refered": "Yes", "Code": "1, 4, 5", "TabletRemain": null, "IsMobileEntry": 1, "InitTime": "2021-09-02 13:43:15.240", "InitUser": null, "ModiTime": null, "ModiUser": null } }
- Response JSON Object
Case_ID (string) – Rec_ID of case get from tblHFActivityCases.
PatientCode (string) – Patient code of case get from tblHFActivityCases.
Day (string) – Day of follow up, e.g: Day3, Day7, Day14
Call (string) – Yes/No, if follow up patient by phone call the value is Yes, otherwise is no
Refered (string) – Yes/No, if refer patient to HC/RH the value is Yes, otherwise is no
Code (int) – 0/1/2/3/4/5
TabletRemain (int) – number of tablet that remain (medicine)
HF follow up Insert/Update
- POST /api4/HFFollowup/update
update/insert follow up
Parse as json:
{ "followup": { "Code_Vill_T": "1406010100", "Case_ID" : "HC_123", "PatientCode": "AA1338", "Day": "Day3", "Date": "2020-12-12", "Call": "Yes", "Refered": "No", "Code": "1,2" } }
VMW Follow up List
- GET /api4/VMWFollowup/list
Retrieve list data
- Query Parameters
year (int) – year of report, e.g: 2020,2021,…
month (string) – month of report, e.g: 01, 02, …, 12
code_village (string) – code of vmw village
Response as json:
{ "code": 200, "message": "success", "data": [ { "Year": "2021", "Month": "09", "Code_Vill_T": "1406010100", "Name_Vill_K": "Angkor Ang (M)", "PatientCode": "AA4618", "NameK": "rey", "Sex": "M", "Age": 55, "DateCase": "2021-09-17", "Day3": 0, "Day3Date": "2021-09-23", "Day7": 0, "Day7Date": "2021-09-27", "Day14": 0, "Day14Date": "2021-10-04", "Case_ID": "HC_1143002" }, { "Year": "2021", "Month": "09", "Code_Vill_T": "1406010100", "Name_Vill_K": "Angkor Ang (M)", "PatientCode": "AA4620", "NameK": "rin", "Sex": "M", "Age": 50, "DateCase": "2021-09-17", "Day3": 0, "Day3Date": "2021-09-20", "Day7": 0, "Day7Date": "2021-09-24", "Day14": 0, "Day14Date": "2021-10-01", "Case_ID": "HC_1143004" } ] }
VMW follow up detail
- GET /api4/VMWFollowup/detail
Retrieve detail data
- Query Parameters
patient_code (string) – patient code, e.g: AA1234
day (string) – day of follow up, e.g: Day3, Day7, Day14
case_id (string) – Rec_ID of case get from tblVMWActivityCases/tblHFActivityCases, e.g: VMW_123456/HC_123456
Response as json:
{ "code": 200, "message": "success", "data": { "Code_Vill_T": "1406010100", "Rec_ID": 650, "Case_ID": "VMW_123", "PatientCode": "AA0001", "Day": "Day7", "Date": "2019-01-15", "Method": "Direct", "Feeling": "Better", "ASMQ": "Yes", "Primaquine": "Yes", "NoPrimaquineReason": "Yes", "NoPrimaquineOtherReason": "", "PrimaquineRemain": 10, "CardNoted": "Yes", "NotNotedReason": "Forget, NotSick", "Symptom": "Yes", "SevereFever": "Yes", "VeryChills": "Yes", "SoreThroat": "Yes", "VeryPale": "Yes", "VeryWeak": "Yes", "SevereVomiting": "Yes", "OtherSymptom": "", "OverPrimaquine": "Yes", "PatientManagement": "DoNothing", "IsMobileEntry": null, "InitTime": null, "InitUser": null, "ModiTime": null, "ModiUser": null } }
- Response JSON Object
Case_ID (string) – Rec_ID of case get from tblVMWActivityCases/tblHFActivityCases, e.g: VMW_123456/HC_123456.
PatientCode (string) – Patient code of case get from tblVMWActivityCases/tblHFActivityCases.
Day (string) – Day of follow up, e.g: Day3, Day7, Day14
Method (string) – Direct/By Phone.
Symptom (string) – Yes/No.
VeryPale (string) – Yes/No.
VeryWeak (string) – Yes/No.
SevereVomiting (string) – Yes/No.
OtherSymptom (string) – any string.
ASMQ (string) – Yes/No.
Primaquine (string) – Yes/No.
NoPrimaquineReason (string) – Forget, NotSick, SideEffect, Travel, NotTrust, LostMedicine
NoPrimaquineOtherReason (string) – Any string
PrimaquineRemain (int) – Integer value
CardNoted (string) – Yes/No.
NotNotedReason (string) – Any string
OverPrimaquine (string) – Yes/No.
PatientManagement (string) – DoNothing, CallHC, ReferToHC, ReferToRH
VMW follow up Insert/Update
- POST /api4/VMWFollowup/update
update/insert follow up
Parse as json:
{ "followup":{ "Code_Vill_T" : "1406010100", "Case_ID": "VMW_123", "PatientCode": "AA0001", "Day": "Day7", "Date": "2019-01-15", "Method": "Direct", "Feeling": "Better", "ASMQ": "Yes", "Primaquine": "Yes", "NoPrimaquineReason": "Yes", "NoPrimaquineOtherReason":"", "PrimaquineRemain": "10", "CardNoted": "Yes", "NotNotedReason":"Forget, NotSick", "Symptom": "Yes", "SevereFever": "Yes", "VeryChills": "Yes", "SoreThroat": "Yes", "VeryPale": "Yes", "VeryWeak": "Yes", "SevereVomiting": "Yes", "OtherSymptom": "headach", "OverPrimaquine": "Yes", "PatientManagement": "DoNothing" } }
Medication
HF Medication
- GET /api4/Medication/hf
Get medication list for HF device
Response as json:
[ { "Id": 8, "Value": "ASMQ", "Name": "អា + អឹម" }, { "Id": 47, "Value": "ASMQ + PQ", "Name": "អា+អឹម និង ព្រីម៉ាគីន" }, { "Id": 50, "Value": "ASMQ + PQ (1 Dose)", "Name": "ASMQ + PQ (1ដូស)" }, { "Id": 51, "Value": "ASMQ + PQ (14 Days)", "Name": "ASMQ + PQ (14ថ្ងៃ)" }, { "Id": 38, "Value": "Other", "Name": "ផ្សេងៗ" }, { "Id": 48, "Value": "Primaquine", "Name": "Primaquine ព្រីម៉ាគីន" } ]
VMW Medication
- GET /api4/Medication/vmw
Get medication list for VMW device
Response as json:
[ { "Id": 8, "Value": "ASMQ", "Name": "អា + អឹម" }, { "Id": 47, "Value": "ASMQ + PQ", "Name": "អា+អឹម និង ព្រីម៉ាគីន" }, { "Id": 13, "Value": "No Stock", "Name": "No Stock មិនមានថ្នាំក្នុងស្តុក" }, { "Id": 39, "Value": "None", "Name": "None មិនបានឲ្យថ្នាំ" }, { "Id": 38, "Value": "Other", "Name": "ផ្សេងៗ" } ]
Register token
- POST /api4/Notification/update_token
update/insert follow up
Parse as json:
{ "Imei": "123456789", "CodePlace": "123456", "Token": "1234567890" }
- Response JSON Object
CodePlace (string) – 6 digits code for health facility, 10 digits code for village
Place
Check place is modify
- GET /api4/Places/isModify
To check if place is modified in system.
Note
if return empty it mean nothing change.
if return any json data it mean place has been changed. and the json data that return is new data of place.
Get Province
- GET /api4/Places/provinces
Get province list.
Response as json:
{ "meta": { "total_page": 1 }, "data": [ { "Code_Prov_T": "01", "Name_Prov_E": "Banteay Meanchey", "Name_Prov_K": "បន្ទាយមានជ័យ" }, { "Code_Prov_T": "02", "Name_Prov_E": "Battambang", "Name_Prov_K": "បាត់ដំបង" }, { "Code_Prov_T": "03", "Name_Prov_E": "Kampong Cham", "Name_Prov_K": "កំពង់ចាម" }, { "Code_Prov_T": "04", "Name_Prov_E": "Kampong Chhnang", "Name_Prov_K": "កំពង់ឆ្នាំង" }, { "Code_Prov_T": "05", "Name_Prov_E": "Kampong Speu", "Name_Prov_K": "កំពង់ស្ពឺ" }, { "Code_Prov_T": "06", "Name_Prov_E": "Kampong Thom", "Name_Prov_K": "កំពង់ធំ" }, { "Code_Prov_T": "07", "Name_Prov_E": "Kampot", "Name_Prov_K": "កំពត" }, { "Code_Prov_T": "08", "Name_Prov_E": "Kandal", "Name_Prov_K": "កណ្តាល" }, { "Code_Prov_T": "09", "Name_Prov_E": "Koh Kong", "Name_Prov_K": "កោះកុង" }, { "Code_Prov_T": "10", "Name_Prov_E": "Kratie", "Name_Prov_K": "ក្រចេះ" }, { "Code_Prov_T": "11", "Name_Prov_E": "Mondul Kiri", "Name_Prov_K": "មណ្ឌលគីរី" }, { "Code_Prov_T": "12", "Name_Prov_E": "Phnom Penh", "Name_Prov_K": "ភ្នំពេញ" }, { "Code_Prov_T": "13", "Name_Prov_E": "Preah Vihear", "Name_Prov_K": "ព្រះវិហារ" }, { "Code_Prov_T": "14", "Name_Prov_E": "Prey Veng", "Name_Prov_K": "ព្រៃវែង" }, { "Code_Prov_T": "15", "Name_Prov_E": "Pursat", "Name_Prov_K": "ពោធិ៍សាត់" }, { "Code_Prov_T": "16", "Name_Prov_E": "Ratanakiri", "Name_Prov_K": "រតនៈគីរី" }, { "Code_Prov_T": "17", "Name_Prov_E": "Siemreap", "Name_Prov_K": "សៀមរាប" }, { "Code_Prov_T": "18", "Name_Prov_E": "Preah Sihanouk", "Name_Prov_K": "ព្រះសីហនុ" }, { "Code_Prov_T": "19", "Name_Prov_E": "Stung Treng", "Name_Prov_K": "ស្ទឹងត្រែង" }, { "Code_Prov_T": "20", "Name_Prov_E": "Svay Rieng", "Name_Prov_K": "ស្វាយរៀង" }, { "Code_Prov_T": "21", "Name_Prov_E": "Takeo", "Name_Prov_K": "តាកែវ" }, { "Code_Prov_T": "22", "Name_Prov_E": "Oddar Meanchey", "Name_Prov_K": "ឧត្តរមានជ័យ" }, { "Code_Prov_T": "23", "Name_Prov_E": "Kep", "Name_Prov_K": "កែប" }, { "Code_Prov_T": "24", "Name_Prov_E": "Pailin", "Name_Prov_K": "ប៉ៃលិន" }, { "Code_Prov_T": "25", "Name_Prov_E": "Tbong Khmum", "Name_Prov_K": "ត្បូងឃ្មុំ" }, { "Code_Prov_T": "30", "Name_Prov_E": "National Hospitals", "Name_Prov_K": "មន្ទីរពេទ្យជាតិ" } ] }
Get district
- GET /api4/Places/districts
Get district list.
- Query Parameters
page (int) – Page number.
Response as json:
{ "meta": { "total_page": 7 }, "data": [ { "Code_Dist_T": "0102", "Name_Dist_E": "Mongkol Borei", "Name_Dist_K": "មង្គល់បុរី" }, { "Code_Dist_T": "0103", "Name_Dist_E": "Phnum Srok", "Name_Dist_K": "ភ្នំស្រុក" }, { "Code_Dist_T": "0104", "Name_Dist_E": "Preah Netr Preah", "Name_Dist_K": "ព្រះនេត្រព្រះ" } ] }
Get district
- GET /api4/Places/communes
Get communes list.
- Query Parameters
page (int) – Page number.
Response as json:
{ "meta": { "total_page": 55 }, "data": [ { "Code_Comm_T": "010201", "Name_Comm_E": "Banteay Neang", "Name_Comm_K": "បន្ទាយនាង" }, { "Code_Comm_T": "010202", "Name_Comm_E": "Bat Trang", "Name_Comm_K": "បាត់ទ្រាំង" }, { "Code_Comm_T": "010203", "Name_Comm_E": "ទ្រឹស្ដីបទ", "Name_Comm_K": "ចំណោម" } ] }