Background

The former Division of Government Research (DGR) at UNM developed a special purpose gravity model for measuring geographic access to health care facilities and providers in New Mexico. This work was performed for the former New Mexico Health Policy Commission (NM HPC) from 1988 through 2002. The results of this preliminary work were only published on DGR's former web page and also in a limited distribution publication by the NM HPC ( HPC Quick Facts 2003 - color extract). A special poster presentation was also prepared that won the poster contest at the 2002 ESRI SWUG Conference held in Taos, New Mexico ( now Esri Southwest User Conference).

The gravity model was very innovative and potentially useful in many other places beyond New Mexico where having a higher resolution, more accurate and reliable measure of geographic accessibility to health care would benefit policy decisions. This research will continue the development of this gravity model (see the Story Map) and also compare it with results obtained from recently developed techniques used by other researchers. The original gravity model was developed using (SAS) and ESRI's ArcGIS. These updates will be done using ArcGIS ModelBuilder, Python scripts, R, and now with ArcGIS Pro.

Note: Most of the effort so far has concentrated on technical development, learning and applying various computing programming and statistical software facilities. The resulting models and scripts will eventually be made available for other researchers to use and modify. Hopefully these technical developments will clearly demonstrate the use of this improving GIS technology and encourage state agencies to resolve data quality and data sharing issues. Esri has also been encouraging government agencies to participate in their Open Data program which hopefully may result in more New Mexico data becoming available for public use in the future. For more recent official information about the status of New Mexico's health care workforce please see New Mexico Health Care Workforce Committee Annual Reports. Also see Modeling Future Health Care Workforce Adequacy to Inform Policy.

Initial Updates (2012 to 2015)

I recently made progress developing an ArcGIS ModelBuilder version of this gravity model using ZIP Codes and older provider data (previously available). For now, there is a map (PDF) of the preliminary results of Population per Primary Care Physician plus a (PDF) showing the design and components used for ArcGIS ModelBuilder available below. Most recently, I have begun the process of developing a Python script tool and there is documentation with screen shots available below that will be updated as this process continues (also see the class presentation). Currently, the Python script tool works well except that I am having problems fully automating the symbology with user defined input for the class breaks. For now, the last step is a manual process where symbology can be modified from the default natural breaks classification. I hope to resolve this problem with ESRI technical support in the future.

The results still need to be verified for accuracy by comparing them to those obtained using the existing SAS Macro developed at DGR. However, I no longer have access to a Windows version of SAS as I had for many years as a UNM staff employee. At UNM there is no student version of SAS available for installation on personal computers like at many other universities such as PSU, BU, Texas A&M, and Stanford. The Windows version is only available for student use in a few computer pods and for departmental use purchased with a UNM account. There is a Linux version, but disk space quotas limit its utility. SAS recently relased a new University Edition that will allow comparision, but it lacks the SAS Bridge that works with the Windows version that would be very helpful. I still hope to use the SAS Bridge in combination with ArcGIS ModelBuilder and Python scripts (add-ins). I'm not sure yet which will prove to be more efficient. I still intend to make the ArcGIS ModelBuilder and Python scripts available sometime in the future once properly documented and packaged for others to use.

I still plan some more developments using census tracts and geographic units other than ZIP Codes such as the New Mexico Small Areas developed by the New Mexico Department of Health (see the Story Map - first version). Hopefully, geocoded provider and facility data can be obtained in the future that would allow comparision of results with other established techniques such as IDW, Kernel Density and the two-step floating catchment area method (2SFCA). Also obtaining recent provider and facility data for the border areas of states adjacent to New Mexico (Arizona, Colorado, and Texas) would provide more reliable results as many patients cross the state boundary and some also go to Mexico for care. The boundary/edge problem is a very common methodological problem that should be addressed in the proper design of spatial analysis applications. Further, if a good New Mexico road network database were developed for use in the ArcGIS Network Analyst , actual travel distance and time on the roads can be used instead of Euclidean distances. It would be interesting to compare results and see if any major improvements become apparent given the effort involved in creating a good road network dataset for the state. However, this effort is sorely needed for many other network based applications beyond just those for healthcare.

Given some minor problems that still need to be resolved with ArcGIS (mostly automating symbology) I have begun exploring using QGIS and Python for the health care gravity model. A general Python version of the gravity model is currently being developed that will allow for the use of both ZIP Codes, census tracts, and the New Mexico (NMDOH) Small Areas for any type of health care providers and facilities. I hope to have versions that that will work in both ArcGIS and QGIS. I will post results as I become more familiar with this open source GIS in the future.

I have also tested a revised version of the SAS gravity model using census tracts and the New Mexico (NMDOH) Small Areas with 2002 population estimates and 2002 primary care physician data (see Small Area Map and Census Tract Map). Note: A spatial join was used to assign ZIP Code physician data to census tracts and NMDOH small area. In the future, geocoded physician locations would be more accurate. However, given the interpolation performed by the gravity model I think the results would not be very different. Some of these results will be available on ArcGIS Online in several GIS formats (interactive web maps, map package, map services, map layers, and shapefiles) as development continues. I was recently provided with an organizational account when I renewed my home use license for ArcGIS which I never had before. Thanks esri!

I have prepared a Python (GDAL/OGR) script that reads a shapefile, calculates the gravity model, and writes a new shapefile with original data and results. I have mostly finished converting this python script into a QGIS processing script to allow for more user interaction and eventually automated display of results (see screenshot of curently working user interface and documentation). I may also consider the option of preparing a QGIS graphic modeler once the QGIS processing script is completed. I have also begun developing a QGIS plugin (see documentation) based on these scripts that will be made available for public use (see the QGIS Plugin Repository). The shared plugin will be generic (could be used in places other than New Mexico). For now only a screenshot of the results from QGIS are available until the plugin is completed. In addition, more developments using Ubuntu-Linux and other open source geospatial software are planned for the future. Note: Although QGIS developments are being prepared using Ubuntu-Linux they will also work on the Windows and Mac versions (see screenshot of the Windows processing script user interface). Links below with these developments will be posted soon!.

As I now have working Python code QGIS(PyQGIS) for the DGR gravity model I have also developed a mostly Python script (see documentation) using ArcGIS(ArcPy) and have started developing a R function. My earlier development of an ArcGIS ModelBuilder application and Python script tool derived from ModelBuilder proved too cumbersome and slow although it worked well. As both ArcGIS (R-ArcGIS) and QGIS (external application) have developed improved interfaces for R, now is a good time to do some more development with this widely used open source statistical software.

New Developments (Ongoing since 2015)