Last Updated: 19/12/2023
Created: 26/08/2021
Welcome to Steve Teoh’s public health github page. This page highlights the shared sources available in https://steveteoh.github.io/diseases/ for demo and educational purposes.
It is a public-domain CSR with National Institute of Health to help monitor the spread of COVID-19.
Map Data Last Updated: 01/01/2024
14-day active cases data is sourced from mysejahtera app through api lookup. Contact the author for info about how to extract data from mysejahtera.
Note:
If the map output looks peculiar, please let me know. Thank you very much.
[{
"lat" : "3.0926898",
"lng" : "101.7342783",
"classification":"LOW_RISK_NS"
}]
{"hotSpots":[],"zoneType":"GREEN","messages":{"ms_MY":"Hai {name}, tiada kes COVID-19 dalam lingkungan radius 1km dari lokasi ini yang dilaporkan dalam masa 14 hari yang lepas.","en_US":"Hi {name}, there have been no reported case(s) of COVID-19 within a 1km radius from your searched location in the last 14 days."},"note":null}
is now superceded by a new version with the following format in Mysejahtera ver 2.x.x :
{"hotSpots":[
{"disease":"COVID-19","displayName":{"enUS":"COVID-19","msMY":"COVID-19"},"iconUri":"/hotspot/icons/COVID19.svg","activeCases":31,"radiusInMeters":1000.0,"durationInDays":14},
{"disease":"DENGUE","displayName":{"enUS":"Dengue","msMY":"Denggi"},"iconUri":"/hotspot/icons/dengue.svg","activeCases":0,"radiusInMeters":200.0,"durationInDays":14},
{"disease":"RABIES","displayName":{"enUS":"Human Rabies","msMY":"Rabies dalam manusia"},"iconUri":"/hotspot/icons/rabies.svg","activeCases":0,"radiusInMeters":1000.0,"durationInDays":90},
{"disease":"MEASLES","displayName":{"enUS":"Measles","msMY":"Demam Campak"},"iconUri":"/hotspot/icons/measles.svg","activeCases":0,"radiusInMeters":1000.0,"durationInDays":25},
{"disease":"HFMD","displayName":{"enUS":"Hand, Foot & Mouth Disease","msMY":"Penyakit Tangan, Kaki & Mulut"},"iconUri":"/hotspot/icons/HFMD.svg","activeCases":3,"radiusInMeters":5000.0,"durationInDays":7},
{"disease":"TB","displayName":{"enUS":"Tuberculosis","msMY":"Tibi"},"iconUri":"/hotspot/icons/TB.svg","activeCases":1,"radiusInMeters":1000.0,"durationInDays":60},
{"disease":"ANIMAL_RABIES","displayName":{"enUS":"Animal Rabies","msMY":"Rabies dalam haiwan"},"iconUri":"/hotspot/icons/rabiesCircle.svg","activeCases":0,"radiusInMeters":5000.0,"durationInDays":180}
]}
Warning:
The old API will still respond to requests, but it will not give you the correct no of cases for each lookup (all zeroes!).
This would also mean that the hotspots lookup feature will not work on older versions of mysejahtera mobile app (v 1.0.x to 1.1.8).
Latest Mysejahtera json format as of 27/9/2022 (changes in the sequence of elements):
{"hotSpots":[
{"disease":"RABIES","displayName":{"enUS":"Human Rabies","msMY":"Rabies dalam manusia"},"iconUri":"/hotspot/icons/rabies.svg","activeCases":0,"radiusInMeters":1000.0,"durationInDays":90},
{"disease":"TB","displayName":{"enUS":"Tuberculosis","msMY":"Tibi"},"iconUri":"/hotspot/icons/TB.svg","activeCases":0,"radiusInMeters":1000.0,"durationInDays":60},
{"disease":"DENGUE","displayName":{"enUS":"Dengue","msMY":"Denggi"},"iconUri":"/hotspot/icons/dengue.svg","activeCases":0,"radiusInMeters":200.0,"durationInDays":14},
{"disease":"ANIMAL_RABIES","displayName":{"enUS":"Animal Rabies","msMY":"Rabies dalam haiwan"},"iconUri":"/hotspot/icons/rabiesCircle.svg","activeCases":0,"radiusInMeters":5000.0,"durationInDays":180},
{"disease":"HFMD","displayName":{"enUS":"Hand, Foot & Mouth Disease","msMY":"Penyakit Tangan, Kaki & Mulut?"},"iconUri":"/hotspot/icons/HFMD.svg","activeCases":0,"radiusInMeters":5000.0,"durationInDays":7},
{"disease":"COVID-19","displayName":{"enUS":"COVID-19","msMY":"COVID-19"},"iconUri":"/hotspot/icons/COVID19.svg","activeCases":0,"radiusInMeters":1000.0,"durationInDays":14},
{"disease":"MEASLES","displayName":{"enUS":"Measles","msMY":"Demam Campak"},"iconUri":"/hotspot/icons/measles.svg","activeCases":0,"radiusInMeters":1000.0,"durationInDays":25}
]}
(Legend and styles updated) (New)
Below are state-level maps for :
Klang Valley (Selangor, Kuala Lumpur dan Putrajaya) (last updated 13/12/2023, 18/07/2022, 09/05/2022),
Ver 4.4.0.1 of Klang Valley now supports selection of dates using the request format:
https://steveteoh.github.io/diseases/covid/KlangValley/?date=20220716
The rest just shows the map using the latest data.

Note:
Below are standalone maps for Selangor districts:
Below are standalone maps for Wilayah Persekutuan districts:
Below are standalone maps for Penang districts:
General Note: The javascripts are minified and obfuscated for faster performance. Kindly email me on the link below if you wish to have the raw code.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Hex Map for Malaysia - latest revision is 4.5. Note: Kindly email me on the link below if you wish to have the raw code.
Steve Teoh (B.S, MSc, PhD, PTech, MIET, SMIEEE)
Kindly contact Steve Teoh at @teohcheehooi or email to Steve