I’ve been working on a client’s OpenEMR site, she had an issue with finding the correct POS codes for some of her facilities. I found that the POS codes are hard-coded in OpenEMR here: /library/classes/POSRef.class.php and are somewhat out of date, and missing codes compared to the official list here: http://www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set.html (see codes 01, 09, 16, 17, 18).
So, rather than hand updating POSRef.class.php, I added this right above ‘return $pos;’ in the init_pos() function:
// Updater added by WriteCraft to update facility POS (Place of Service) codes http://www.cms.gov/Medicare/Coding/place-of-service-codes/
// In Administration > Lists, create a new List named 'Facility POS Codes'
// Add only missing or needs updating POS Codes
// ID = POS Code, Title = Place of Service Name, Notes = Place of Service Description
// You can add your own custom codes as well -- outside the CMS code series ( ie "101: Facility No Longer In Service" )
$res = sqlStatement("select * from list_options where list_id='Facility_POS_Codes' order by option_id");
while($posRow=sqlFetchArray($res)){
$ref = (int)$posRow['option_id']-1;
$pos[$ref] = array("code" => $posRow['option_id'], "title" => $posRow['title'], "description" => $posRow['notes']);
}
// end Updater
Is there an easier way to keep the POS codes current?
Reviving this thread because I am doing some work over here in this area. There is a request to be able to set the POS Code per encounter. I have run into this over and over.
I am working on the encounter form to include the ability to select POS on the encounter form.
See attached screenshot.
I found a couple more things to comment on but have not tested. Aside from that it looks reasoanble and I’ll give others a chance to chime in and test.