def METHOD_NAME(self, mine_guid, mine_incident_guid, mine_document_guid):
    parser = CustomReqparser()
    parser.add_argument('filename', type=str, required=True)
    parser.add_argument('document_manager_guid', type=str, required=True)
    parser.add_argument('mine_incident_document_type', type=str, required=True)
    mine_incident = MineIncident.find_by_mine_incident_guid(mine_incident_guid)
    mine = Mine.find_by_mine_guid(mine_guid)
    if not mine_incident:
        raise NotFound('Mine incident not found')
    if not mine:
        raise NotFound('Mine not found.')
    data = parser.parse_args()
    document_manager_guid = data.get('document_manager_guid')
    file_name = data.get('filename')
    mine_incident_document_type = data.get('mine_incident_document_type')
    mine_doc = MineDocument(mine_guid=mine.mine_guid,
                            document_name=file_name,
                            document_manager_guid=document_manager_guid)
    if not mine_doc:
        raise BadRequest('Unable to register uploaded file as document')
    mine_doc.save()
    mine_incident_doc = MineIncidentDocumentXref(
        mine_document_guid=mine_doc.mine_document_guid,
        mine_incident_id=mine_incident.mine_incident_id,
        mine_incident_document_type_code=mine_incident_document_type
        if mine_incident_document_type else 'INI')
    mine_incident.documents.append(mine_incident_doc)
    mine_incident.save()
    return mine_incident